Selenium检查文本不存在

时间:2012-03-30 11:00:04

标签: java selenium selenium-rc

我想在没有测试失败的情况下检查网页上是否存在该文本

我通过捕获异常实现了这一点,但是有更好的方法吗?

try {
    selenium.isTextPresent(selenium.getText("27"));
} catch (Exception e) {
    System.out.println("Element does not exhist");
}

3 个答案:

答案 0 :(得分:1)

try-catch没有任何问题。

无论如何,由于您放弃了isElementPresent("27")的返回值,因此您应该更多地使用isTextPresent()。此外,如果元素存在,那么isTextPresent()将始终返回true,因为......好吧,您从现有元素中取出文本,在那里。在这种情况下,仅仅确定元素是否存在就足够了。

但如果你真的需要以实际代码的形式,那么if (selenium.isElementPresent("27") && selenium.isTextPresent(selenium.getText("27")))呢?

此外,getXpathCount(//*[@id='27' and text()]) == 0表达式也可以解决问题。它计算id = 27并包含一些文本的返回元素的数量。如果那是零,则没有。

答案 1 :(得分:1)

您可以使用assertTextNotPresentverifyTextNotPresent

@Slanec是的,这是我的错误 你可以使用

verifyFalse(selenium.isTextPresent("text"));
assertFalse(selenium.isTextPresent("text"));

答案 2 :(得分:0)

根据docs,您应该能够说出以下内容:

selenium.isTextPresent("27"));

这会返回一个布尔值,所以如果你想确保它不在那里......检查它是否为假。