硒 Web驱动程序选择组合框项目?

2022-09-03 04:06:43

我们正在使用Selenium WebDriver和JBehave在我们的Web应用程序上运行“集成”测试。我有一个方法,可以在表单输入中输入一个值。

@When("I enter $elementId value $value")
public void enterElementText(final String elementId, final String value) {
    final WebElement webElement = webdriver.findElement(By.id(elementId));
    webElement.clear();
    webElement.sendKeys(value);
}

但是当我尝试使用它来选择下拉列表中的项目时,它(不出所料)失败了

java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值

如何在组合中选择值?


答案 1

这是如何做到的:

@When("I select $elementId value $value")
public void selectComboValue(final String elementId, final String value) {
    final Select selectBox = new Select(web.findElement(By.id(elementId)));
    selectBox.selectByValue(value);
}

答案 2

硒中的支持包包含您需要的所有内容:

using OpenQA.Selenium.Support.UI;

SelectElement select = new SelectElement(driver.findElement( By.id( elementId ) ));
select.SelectByText("Option3");
select.Submit();

可以通过 NuGet 将其作为单独的包导入:http://nuget.org/packages/Selenium.Support


推荐