我需要使用WebDriver验证下拉值。我有一个String数组
中的预期值String [] exp = {“ - Title - ”,“Mr”,“Mrs”,“Miss”,“Ms”,“Dr”,“Prof”};
我需要编写一个从下拉列表中返回所有值的函数,我需要使用期望值进行断言,下面是我编写的用于从下拉列表中打印值的代码,但我需要断言这些值预期的: -
WebElement dropdown = driver.findElement(By.id("ddlNights"));
Select select = new Select(dropdown);
List<WebElement> options = select.getOptions();
for(WebElement we:options)
{
System.out.println(we.getText());
}
任何人都可以帮我编写一个返回String数组下拉值的方法,以便我们可以重复使用该方法在每个下拉列表中验证值 Assert.assertTrue(Arrays.equals(Expected,Actual))
提前致谢!!!
答案 0 :(得分:3)
试试这个
String[] exp = {"--Title--","Mr","Mrs","Miss","Ms","Dr","Prof"};
WebElement dropdown = driver.findElement(By.id("ddlNights"));
Select select = new Select(dropdown);
List<WebElement> options = select.getOptions();
for(WebElement we:options)
{
boolean match = false;
for (int i=0; i<exp.length(); i++){
if (we.getText().equals(exp[i]){
match = true;
}
}
Assert.assertTrue(match);
}
它应该将每个元素与预期字符串中的每种可能性进行比较。匹配仅在“已找到”状态下才为真。您可以使用Assert来处理消息,因为它可能随时失败。所以你可以做类似
的事情Assert.assertTrue(match, we.getText());
哪个应该写你找不到任何匹配的webElement - 我不是百分之百确定该行 - 我没有运行任何IDE来验证它。