使用WebDriver验证下拉值

时间:2012-03-10 05:58:47

标签: webdriver

我需要使用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))

提前致谢!!!

1 个答案:

答案 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来验证它。