示例 1:检查 Twitter Bootstrap 模式是否已打开。
模态框已经存在于页面上,但在打开模态框之前被 CSS 隐藏。那么如何验证模态是否实际打开?
示例 2:检查是否显示了用户错误消息 div。
错误消息 div 始终存在,但在需要时被 CSS 隐藏。如何验证消息是否可见?
示例 1:检查 Twitter Bootstrap 模式是否已打开。
模态框已经存在于页面上,但在打开模态框之前被 CSS 隐藏。那么如何验证模态是否实际打开?
示例 2:检查是否显示了用户错误消息 div。
错误消息 div 始终存在,但在需要时被 CSS 隐藏。如何验证消息是否可见?
您可以尝试使用 verifyVisible 命令。这会查看 css 以查看是否设置了可见性或显示。如果其中任何一个可见,它将返回 true,否则返回 false。您将需要传递一个定位器。使用由 css 控制的模态元素。
答案1:
您可以通过检查模态中的 Web 元素的Presence
或来检查模态状态。Visibility
答案 2:
您可以检查Visibility
错误消息的参数。
要检查元素存在:
if(driver.findElements(By.xpath("value")).size() != 0){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
或者
if(driver.findElement(By.xpath("value"))!= null){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
要检查可见:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
System.out.println("Element is Visible");
}else{
System.out.println("Element is InVisible");
}
下面可能对你有用。
只需将您的元素传递给此方法,如果该元素在 dom 中可见,它将返回 true,否则将返回 false。
isElementPresent(WebDriver driver,By by)
{
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
try
{
driver.findElement(by);
return true;
}
catch(Exception e)
{
return false;
}
finally
{
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
}
有关更多信息,请参阅此博客文章