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...?
}

最佳答案

您可以使用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);
}

关于java - 如何使用页面对象模型(Webdriver + Java + JUnit)断言“选择”列表具有值或可见文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50289242/

10-16 22:32