Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ExamplePageRefactored {
- @FindBy(css = "[test-id=my-table-name] [test-id=element]")
- private List<WebElement> myTableRows;
- public void selectGenderForRow(String linkText, String optionValueToSelect){
- WebElement selectElement = findElementByLinkText(String linkText, List<WebElement> elementList);
- selectByOptionValue(selectElement, optionValueToSelect);
- }
- public class WebElementTable {
- public static WebElement findElementByLinkText(String linkText, List<WebElement> elementList){
- return elementList.stream()
- .filter(element -> linkText.equals(element.findElement(By.cssSelector("test-id=link")).getText()))
- .findFirst()
- .orElseThrow(() -> new NoSuchElementException("Element " + linkText + " isn't displayed in the table."));
- }
- }
- public class WebElementSelect {
- public static void selectByOptionValue(WebElement selectElement, String valueToSelect){
- List<WebElement> optionsList = selectElement.findElements(By.tagName("option"));
- WebElement optionElement = optionsList.stream()
- .filter(currentElement -> currentElement.getAttribute("value").equals(optionValueToSelect))
- .findFirst()
- .orElseThrow(() -> new NoSuchElementException("Option " + optionValueToSelect + " wasn't found in the list."));
- optionElement.click();
- }
- }
Add Comment
Please, Sign In to add comment