0

我需要在 webdriver 中使用 Java 验证下拉字段是否显示在屏幕上。仅在另一个屏幕中选中复选框后,此下拉字段将显示在此屏幕中。我已使用以下代码验证该字段是否显示,但它没有返回任何值,如真或假。

driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlSessionExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlfailedLogin"));

谁可以帮我这个事。帮助将不胜感激。

4

2 回答 2

1

应使用 xUnit-system 和 Asserts 进行验证。例如 Java 的 JUnit 或 TestNG。您可以使用 TestNG 通过以下方式进行验证(对于 JUnit,参数的顺序略有不同):

Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp")).size(), 1, 
    "Password field wasn't found"); 
Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlSessionExp")).size(), 1,
    "Some other field wasn't found"); 
Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlfailedLogin")).size(), 1, 
    "Whatever field wasn't found"); 
于 2012-12-14T14:23:43.807 回答
0

首先,我通过使用 Khrol 的上述答案解决了我的问题,我也尝试了另一种方法,它完全解决了我的问题。

int size = driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp")).size();
if (size > 0)
{
System.out.println("No. of Days for Password Expiration field: is displayed");
}
else
{
System.out.println("No. of Days for Password Expiration field: is not displayed");
}
于 2012-12-27T12:47:47.650 回答