2012-03-10 62 views
0

我需要使用WebDriver验证下拉值。我已经在一个字符串数组期望值使用WebDriver验证下拉值

字符串[] EXP = { “产品标题 - ”, “先生”, “夫人”, “小姐”, “MS”, “DR”, “教授”} ;

我需要编写一个函数,从下拉菜单中返回所有的值,我需要使用期望值进行断言,下面是我写下的用于从下拉列表中打印值的代码,但是我需要声明这些值预计的: -

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()); 
} 

谁能帮我写一个返回下拉值的字符串数组的方法,使我们可以重新使用该方法在每一滴水验证值下使用
Assert.assertTrue( Arrays.equals(Expected,Actual))

在此先感谢!

回答

2

试试这个

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它没有找到任何匹配 - 我不是100%肯定与该行 - 我没有运行,以验证它的任何IDE。