Как утверждать, что список выбора имеет значение или видимый текст, используя объектную модель страницы (Webdriver + Java + JUnit)? - PullRequest
0 голосов
/ 11 мая 2018
public Select select;
public Select getSelect(WebElement element) {
    select = new Select(element);
    return select;
}

это функция, которую я буду использовать в тесте, чтобы утверждать, что у select есть элемент, видимый по тексту, но я не знаю, как точно утверждать, что у select есть этот элемент, я думаю, что есть лучший способ сделать это

@FindBy(id = "...")
WebElement = mainSelect;

public void assertSelectHasElement(String string) {
    getSelect(mainSelect);
    select.selectByVisibleText(string);
    Assert...?
}

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Если в раскрывающемся списке есть только одно выбранное значение, поможет следующий способ.

//method to assert selected value in dropdown
public void assertSelectedValue(String expectedSelectedValue){

    WebElement option = getSelect(webelement).getFirstSelectedOption();
    String actualSelectedItem = option.getText();
    Assert.assertEquals(actualSelectedItem, expectedSelectedValue);
}

//method to select options by visible text in dropdown
public void selectDropdownOption(String optionToSelect){
    getSelect(webelement).selectByVisibleText(optionToSelect);
}

если в раскрывающемся списке выбрано несколько параметров, используйте предоставленную логику в другом ответе от katrihpl.

0 голосов
/ 11 мая 2018

Вы можете использовать List<WebElement> allOptions = select.getOptions();, чтобы получить все опции Select, а затем перебирать их до тех пор, пока опция не будет найдена (или нет), например:

@FindBy(id = "...")
private WebElement mainSelect;

public void assertSelectedValue(String value)
    select = getSelect(mainSelect);
    List<WebElement> options = select.getOptions();
    boolean optionExists = false;
    for (WebElement e : options) {
        if (e.getText().equals(value)) {
           optionExists = true;
           break;
        }
    }
    assertTrue("Option x should exist", optionExists);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...