0

我想检查错误消息。这些错误消息仅在我的网站遇到问题时出现。

我的问题是我使用findElement它来检查错误消息。因此,当出现问题时,Selenium 会找到它,并且一切正常

但是当它没有(意思是 - 我的网站没有问题)时 - 然后 Selenium 表示它没有找到该元素,并引发异常。

任何想法?

4

3 回答 3

1

您可以将 findElement 包含在 try-catch 块中,如果未找到该元素,它将不执行任何操作。例如

    private boolean isElementPresent(By by) {
                    try {
                        driver.findElement(by);
                        return true;
                    } catch (NoSuchElementException e) {
                        return false;
                        //or do nothing
                    }
                }
于 2012-08-06T10:11:01.007 回答
0

1.为此,您应该以这样一种方式设计您的测试用例,即只有当您确定会收到错误消息时,您才编写代码来检查错误消息。

2.但重点是,当您知道不会有问题并且代码可以正常运行时,为什么还要检查错误消息。

3.如果你不知道会发生错误..你可以将有风险的代码放在try块中并编写一个catch块来查找错误消息并检查它。

于 2014-06-09T11:42:24.977 回答
0

看看答案Selenium Webdriver NoSuchElementException

它建议以下内容(我已根据您的需要对其进行了一些调整):

List<WebElement> errorElements = driver.findElements(By.id("ERROR_ID"));
if (!errorElements.empty()) {
   // Tests your errors
}
于 2012-08-06T13:13:55.857 回答