我正在尝试自动化--验证顶部导航链接的有效性。https:/www.zillow.com.
为此,我将实际的urls和预期的urls进行了匹配。但是在页面类方法中,这一行重试null。我不明白为什么?
String urlp = locator.all_topnav_links.get(i).getAttribute("href");
页面类中的方法。
public void verify_topnav_links() {
System.out.println("Started");
for (int i = 0; i < locator.all_topnav_links.size(); i++) {
System.out.println(locator.all_topnav_links.size());
if (locator.all_topnav_links.get(i).isDisplayed() == true) {
String link=locator.all_topnav_links.get(i).getText();
System.out.println(link);
String urlp = locator.all_topnav_links.get(i).getAttribute("href");
System.out.println("Links are : " + urlp);
// now click link one by one
locator.all_topnav_links.get(i).click();
driver.navigate().back();
// 2 verify before url with current opened url
//Assert.assertEquals(urlp, driver.getCurrentUrl());
}
定位器类中的定位器
@FindAll({@FindBy(xpath = "//ul[@data-zg-section='main']/li")})
public List<WebElement> all_topnav_links;
测试类中的测试用例
@Test
public void verify_TopNav_links()
{
hpage.verify_topnav_links();
}
我也不知道这种方法是否正确。谁能告诉我验证这种情况的最佳方法。
注意:这个zillow.com如果我们使用selenium多次打开,会开始显示验证码。为了忽略它,当测试用例被执行时,手动从url中删除catpcha参数。