Mus*_*eas 5 java testng selenium automated-tests repeat
这按预期工作,测试失败(由于haltTesting())并重复2x
public class A0001_A0003Test extends TestControl {
private Kunde kunde = Kunde.FR_WEHLITZ;
@Test(retryAnalyzer = TestRepeat.class, groups = {TestGroups.FAILED}, description = "verify adress")
public void testkundenDaten_Angaben() throws Exception {
bifiTestInitial();
testActions.selectKunde(kunde);
haltTesting();
}
}
Run Code Online (Sandbox Code Playgroud)
但因为我在一个类中有多个测试,所以我在类级别定义了重复分析器
@Test(retryAnalyzer = TestRepeat.class)
public class A0001_A0003Test extends TestControl {
private Kunde kunde = Kunde.FR_WEHLITZ;
@Test(groups = {TestGroups.FAILED}, description = "verify adress")
public void testkundenDaten_Angaben() throws Exception {
bifiTestInitial();
testActions.selectKunde(kunde);
haltTesting();
}
}
Run Code Online (Sandbox Code Playgroud)
但随后测试不再重复,文档说:
类级别@Test注解的作用是使该类的所有公共方法即使没有注解也成为测试方法。如果您想添加某些属性,您仍然可以在方法上重复 @Test 注释。
所以这应该是可能的,还是我期待错误的结果?
我的解决方案是为方法中的所有方法设置一个retryAnalyzer @BeforeSuite
。但不要在 beforeMethod 中设置它,因为这样每次调用都会使用新的计数器 => 无限循环重新创建它。
@BeforeSuite(alwaysRun = true)
public void beforeSuite(ITestContext context) {
TestRepeat testRepeat = new TestRepeat();
for (ITestNGMethod method : context.getAllTestMethods()) {
method.setRetryAnalyzer(testRepeat);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7797 次 |
最近记录: |