使 TestNG 测试依赖于成功完成的测试



我有一些用Java编写的Selenium TestNG测试,这些测试依赖于第一个初始测试,它将用户注册到测试平台并通过教程,所有其他测试都使用该初始测试的登录凭据。

到目前为止一切顺利,我还使用了重试逻辑(IRetryAnalyzer(:https://www.swtestacademy.com/retry-failed-tests-testng-iretryanalyzer/重试失败的测试最多 4-5 次,因为主机服务器有时会在随机点产生错误,无法修复 ATM。

如果初始(寄存器(测试前 2 次失败,并在第三次执行时通过,则依赖于它的所有其他测试都将失败,并出现异常:

"java.lang.Throwable: depends on not successfully finished methods in group..."

所以测试结果将如下所示:

测试 A(寄存器( - 失败。 测试 A(寄存器( - 失败。 测试 A(注册( - 通过。 测试 B(依赖于 A(- 失败。 测试 C(在 A 上可靠( - 失败。

测试B 和 C 失败,因为测试 A 最初第一次失败,因此以某种方式将其记录为失败。 问题是 - 是否可以以某种方式进行可靠的测试,它们只依赖于测试A的传递实例,或者至少尝试执行它们,尽管测试A失败了几次。

请注意,在此方案中,不考虑使用优先级参数。 谢谢。

使用 'alwaysRun' 参数。将其附加到测试 B

@Test(alwaysRun = true, groups = { "random_group" }(

最新更新