目前,我有许多具有以下格式的TestNG测试用例
Testng.xml
<DataTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="..." >
<Table name="TestCase1">
<Header>
<Column name="Para1" type="String"></Column>
<Column name="Para2" type="String"></Column>
<Column name="Para3" type="String"></Column>
</Header>
<Row>
<Value>Value1</Value>
<Value>Value2</Value>
<Value>Value3</Value>
</Row>
</Table>
<Table name="TestCase2">
.
.
.
具有以下测试用例结构
@Listeners (AutomationTestListener.class)
public class TestCase1 extends SeleniumTestBase {
@DataProvider(name = "TestCase1")
public Object[][] dataTable_TestCase1() {
return this.getDataTable("TestCase1");
}
@Test (dataProvider = "TestCase1")
public final void tc_TestCase1(final String Data_Para1, String Data_Para2,
String Data_Para3) {
.
.
.
我的问题是,有没有办法将@dataprovider
级别的Testng.xml中列出的参数映射到特定于该测试用例的类?
我的想法是将Object[][]
映射到一个类
编辑
是否可以像这样映射到类?
Class testCase1Class {
String para1;
String parp2;
String para3;
public testCase1Class(String a, String b, String c){
para1 = a;
para2 = b;
para3 = c;
}
}
然后将testCase1Class
对象传递到@Test
public final void tc_TestCase1(testCase1Class c1)
注意
方法getDataTable()
将返回一个值数组
testng.xml中的格式不能更改