citrusframework / citrusframework/yaks

Selenium Step Extensions

Open
#409 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
90
Forks
28
PR merge metrics
No merged PRs in 30d

Description

With my workaround in #407 i've added other functionality too. I want to share with you:

* User clears text on -> see #408
* should display table having data (i'm using the approach that each row id is build by column property + row Index). I've added my code snippet below:

````
// a list of row maps where each map entry identifies one column. The key of the map is
// from the header column
final List> dataMatrix = dataTable.asMaps();
final List elementActions = new ArrayList<>();
for (int i = 0; i < dataMatrix.size(); i++) {
final Map valueByColumnId = dataMatrix.get(i);
for (final Map.Entry columnEntry : valueByColumnId.entrySet()) {
final String columnId = columnEntry.getKey() + i;
final String expectedText = columnEntry.getValue();
final FindElementAction.Builder elementAction = SeleniumActionBuilder.selenium().browser(
browser()).find().element("id", columnId).displayed(
StringUtils.hasText(expectedText)).text(expectedText);
elementActions.add(EchoAction.Builder.echo(
String.format("should display table column with id = %s having value %s", columnId,
expectedText)).build());
elementActions.add(RepeatOnErrorUntilTrueTemplate.builder()
.indexName(columnId)
.maxRepeats(maxRepeatsOnError)
.autoSleep(autoSleep)
.action(elementAction)
.build());
}
}
runner.run(Sequence.Builder.sequential().actions(elementActions.toArray(new TestAction[0])));
````

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.