示例1:检查Twitter Bootstrap模式是否已打开。
模式已存在于页面上,但在使用CSS时隐藏,直到打开模态。那么如何验证模态实际打开了?
示例2:检查是否显示了用户错误消息div。
错误消息div始终存在,但在需要之前使用CSS隐藏。如何验证消息是否可见?
答案 0 :(得分:10)
您可以尝试使用verifyVisible命令。这将查看css以查看是否设置了可见性或显示。如果其中任何一个可见,则返回true,否则返回false。 您需要传入一个定位器。使用由css控制的模态元素。
答案 1 :(得分:1)
答案1:
您可以通过查看模式中网页元素的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");
}
答案 2 :(得分:0)
以下可能对您有用。
只要将你的元素传递给这个方法,如果该元素在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);
}
}
有关详细信息,请参阅this博文