2012-04-19 78 views

回答

19

isElementPresent() - 这种方法基本上测试,如果我们正在寻找的元素存在的地方在页面上。

ISVISIBLE() - 查找显示:无风格的标签 - 这可能会抛出一个空指针,如果我们不小心......因此,看一个元素是可见的首次检查元素存在使用isElementPresent () 方法。然后尝试检查元素是否可见!

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

对于前: 可以说下面是我的测试应用程序组件的HTML代码:

现在如果你

selenium.isElementPresent("testinput") - returns true! 
selenium.isVisible("testinput") - returns false! 
+0

isVisible()不会得到空指针异常。但是如果元素不存在,你可以得到一个SeleniumException。通常的技术就像'if(selenium.isElementPresent(locator)&& selenium.isVisible(locator)){...做某事...}'。 – 2012-04-19 17:45:23

11

如何异常有关阅读the documentation

布尔isElementPresent(java.lang.String中定位符)

验证指定的元素为某处在页面上。

布尔ISVISIBLE(java.lang.String中定位符)

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

+2

测试上述组件的API似乎设计得不好。如果你想断言你说assertElementIsPresent或assertIsVisible。如果目标不可用,isMethods不应抛出异常。问题来自API的不对称设计。那天你一定是有糟糕的一天。 – boatcoder 2013-09-10 14:45:43