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
在下面的示例中,我想在 运行 测试 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