我需要验证是否在屏幕上显示下拉字段是否在webdriver中使用Java。在仅在另一个屏幕中选中复选框后,此下拉字段将显示在此屏幕中。我使用以下代码验证字段是否显示,但是,它没有返回任何值,如true或false。
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlSessionExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlfailedLogin"));
任何人都可以帮助我。将不胜感激。
答案 0 :(得分:1)
应使用xUnit-system和Asserts进行验证。例如。 JUnit或TestNG for Java。您可以使用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");
答案 1 :(得分: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");
}