如果网站出了点问题,则会显示错误页面并显示堆栈跟踪,并且此文本包含WebElement。当站点关闭时,我可以找到errorTrace元素并记录错误。

但是,该站点已启动并且正在运行,errorTrace元素已隐藏,我收到了NosuchElementException,但应该继续进行,因为我们没有错误。当有事情发生但不是必须的时候,我该如何处理这种情况!

@FindBy(id = "someId")
private WebElement errorTrace;

    try {
       errorTrace.isDisplayed();
    } catch (Exception e) {
       Log.error("Unexpected error appears: \n" + errorTrace.getText());
    }

我想实现一些通用方法,当网站发生问题时,请妥善处理。因此,当errorTrace元素在DOM中可用时,仅使测试失败。

最佳答案

使用if(!errorTrace.getText().contains("Stack Trace"))
或者检查页面中的标题是否与错误页面的标题不同。

09-12 13:01