Как проверить, отображаются ли все веб-элементы в списке - PullRequest
0 голосов
/ 30 января 2019

Footer with textlinks

Я хочу проверить, отображаются или нет текстовые ссылки «О нас», «Контакты» и «Часто задаваемые вопросы» в нижнем колонтитуле «Дополнительная информация»

Как я могу это проверить?Нужно ли получать xpath каждого веб-элемента списка, а затем проверять, отображается ли он на веб-странице?или списки всех веб-элементов одновременно, а затем проследить цикл for?

А также помочь мне в написании xpath для элемента «О нас»

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Если вы хотите проверить, присутствует ли каждый элемент или нет, тогда да, вам нужно проверить отдельно для каждого элемента.Хотя вы можете сделать один общий метод, чтобы проверить его наличие или не использовать assert.Например:

public void checkElementPresent(String elementText){
    Assert.assertTrue(driver.findElements(By.xpath("//a[text()="+elementText+"]")).size()>0);
}

Или, если вы не хотите использовать assert, вы можете также использовать условие else, например:

public void checkElementPresent(String elementText){
 if(driver.findElements(By.xpath("//a[text()="+elementText+"]")).size()>0){
        System.out.println("Element is present");
    }else{
        System.out.println("Element is not present");
    }
}

И вы можете просто вызвать метод, отправивтекст ссылки, которую вы хотите проверить, присутствует ли она или нет:

checkElementPresent("About Us"); or
checkElementPresent("Contact Us"); 
0 голосов
/ 30 января 2019

Вы можете проверить все сразу или проверить по отдельности, попробуйте приведенный ниже код, который извлечет все параметры, проверяет, присутствуют ли они или нет, и проверяет, отображаются ли они или нет:

// Get all the options using the below line
List<WebElement> elements = driver.findElements(By.xpath("//div[@class='footer-section']//a"));

// Check they are present or not?
if(elements.size() > 0) {
    System.out.println("=> The Options are present...");
} else {
    System.out.println("=> The Options are nor present...");
}

// Check they are displayed or not?
for(WebElement element : elements) {
    System.out.println(element.getText()+" is displayed? "+element.isDisplayed());
}

Если вы хотите проверить индивидуально, то вам нужно сделать, как показано ниже:

driver.findElement(By.xpath("//div[@class='footer-section']//a[text()='About Us']")).isDisplayed();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...