7

示例 1:检查 Twitter Bootstrap 模式是否已打开。

模态框已经存在于页面上,但在打开模态框之前被 CSS 隐藏。那么如何验证模态是否实际打开?

示例 2:检查是否显示了用户错误消息 div。

错误消息 div 始终存在,但在需要时被 CSS 隐藏。如何验证消息是否可见?

4

3 回答 3

10

您可以尝试使用 verifyVisible 命令。这会查看 css 以查看是否设置了可见性或显示。如果其中任何一个可见,它将返回 true,否则返回 false。您将需要传递一个定位器。使用由 css 控制的模态元素。

于 2013-02-07T20:25:14.177 回答
1

答案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");
}
于 2013-02-08T04:53:11.047 回答
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);  
     }  
 } 

有关更多信息,请参阅博客文章

于 2013-02-07T13:22:33.060 回答