gpt4 book ai didi

testng - 除了 PASS/FAIL,TestNG 是否支持 WARN 类型的错误?

转载 作者:行者123 更新时间:2023-12-04 20:53:10 24 4
gpt4 key购买 nike

我将 TestNG 与 Selenium 结合使用来测试具有多页面流程的 Web 应用程序(例如,在 8 个不同页面上注册并完成您的个人资料)。

我使用了 Selenium 的 PageObject 方法并在每个页面中实现了检查代码,例如检查“php 错误”消息不会显示在页面中,在这种情况下,如果单个页面检测到此错误,则整个流程(这是一个在内部引用多个 PageObjects 的 @Test 方法)将失败。

我想报告一些错误,但不将整个流程标记为失败(例如,错误地转义引号或 HTML 字符)。我可能在所有页面中都有一个常见错误,这并不妨碍整个流程的执行,如果我可以报告警告并且仍然能够继续测试,这将节省时间。

Reporter最好的方法来做到这一点?从可用性的角度来看,最好用红色(失败)、绿色(通过)和橙色(警告)颜色显示报告。

最佳答案

我想出了一种方法来做到这一点,虽然它有点黑客。在要警告而不是通过失败的测试方法中,执行以下操作:

...
import org.testng.Reporter;
...

@Test
public void myTestMethod(){
if( someConditionThatCausesWarning ) {
Reporter.getCurrentTestResult().setAttribute("warn", "My warning message");
}
}

这会在测试结果对象上设置一个属性,然后您可以在自定义监听器和报告器中访问该属性。我将详细程度设置为 0:
...
TestNG tng = new TestNG();
tng.setVerbose(0);
...

这会关闭默认的实时报告。

然后在听众和/或记者中你做:
testResult.getAttribute("warn");

查看是否有警告而不是 PASS。

关于testng - 除了 PASS/FAIL,TestNG 是否支持 WARN 类型的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8135558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com