我要验证是否显示“更多信息”页脚部分下的“关于我们”,“联系我们”和“常见问题”文本链接
如何检查?我是否必须获取每个列表Web元素的xpath,然后检查其是否显示在网页上?或一次列出所有网络元素,然后跟踪for循环?
还要帮助我为“关于我们”元素编写xpath
答案 0 :(得分:1)
您可以一次验证全部,也可以单独验证,请尝试下面的代码,该代码将提取所有选项,验证是否存在这些选项并检查它们是否显示:
// 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();
答案 1 :(得分:1)
如果要验证是否存在每个元素,则是,您需要分别检查每个元素。尽管您可以使一种通用方法来检查其存在或不使用断言。 例如:
public void checkElementPresent(String elementText){
Assert.assertTrue(driver.findElements(By.xpath("//a[text()="+elementText+"]")).size()>0);
}
或者如果您不想使用assert,那么也可以使用if条件,例如:
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");