Selenium RC中isElementPresent和isVisible之间的区别

时间:2012-04-19 07:04:32

标签: java selenium selenium-rc

Selenium RC中元素isElementPresentisVisible之间的区别是什么?

我明白了

selenium.isElementPresent()selenium.isVisible()

如果selenium.isElementPresent()出错,我会在selenium.isVisible()

上获得例外

2 个答案:

答案 0 :(得分:20)

isElementPresent() - 此方法基本上测试我们要查找的元素是否存在于页面的某个位置。

isVisible() - 查找display:none样式标记 - 如果我们不小心,这可能会抛出空指针...因此要查看元素是否可见首先检查元素是否存在使用isElementPresent()方法。然后尝试检查元素是否可见!

观察即使我们的元素不可见,isElementPresent()也不介意。

对于前: 让我们说以下是我的测试应用程序中组件的html代码:

现在,如果您使用

测试上述组件
selenium.isElementPresent("testinput") - returns true!
selenium.isVisible("testinput") - returns false!

答案 1 :(得分:11)

阅读the documentation怎么样?

  

boolean isElementPresent(java.lang.String locator)

     

验证指定的元素是否在页面上的某个位置。

     

boolean isVisible(java.lang.String locator)

     

确定指定的元素是否可见。一个元素可以   通过设置CSS“visibility”属性使其不可见   对于元素,“隐藏”或“显示”属性为“无”   本身或一个如果它的祖先。如果元素,此方法将失败   不存在。