Я пытаюсь автоматизировать - проверка верхних навигационных ссылок https://www.zillow.com.
Для этого я сопоставляю фактические URL-адреса с ожидаемыми URL-адресами. Но в методе класса страницы эта строка возвращает значение 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 начнет отображать капчу, если мы откроем несколько раз с использованием селена. Чтобы игнорировать его, вручную удалите параметры catpcha из URL-адреса при выполнении тестового примера.