TestNg:如何对测试套件中的 运行 特定测试在不同参数上重复 n 次

TestNg: How to a run particular test in a test suite to repeat n times on different parameters

在下面的示例中,我想在 运行 测试 xml 上使用不同的参数集重复 test4。 我的意图是让所有测试按顺序到达 运行,但 test4 应该重复我想传递的某些参数集。 有办法实现吗?

public class SomeTests(){

@Test
public void test1(){
    ...
}
@Test(priority=1)
public void test2(){
     ...
}
@Test(priority=2)
public void test3(){
    ...
}

@Test(priority=3)
public void test4(String param){
    ...
}

} ```

您可以使用 DataProvider 注释创建参数提供程序并使用 dataProvider 属性将其传递给您的测试用例。

在你的情况下可能是这样的:

...
@DataProvider(name = "myParamProvider")
public Object[][] myParams() {
 return new Object[][] {
   { "param1"},
   { "param2"}
 };
}


@Test(priority=3, dataProvider = "myParamProvider")
public void test4(String param){
    ...
}
...

或者只需提供 DataProvider 方法名称,如下所示:

...
    @DataProvider
    public Object[][] myParams() {
     return new Object[][] {
       { "param1"},
       { "param2"}
     };
    }
    
    
    @Test(priority=3, dataProvider = "myParams")
    public void test4(String param){
        ...
    }
   ...

查看更多信息: https://testng.org/doc/documentation-main.html#parameters-dataproviders