通过@DataProvider将Testng.xml映射到类?

时间:2019-03-22 08:41:00

标签: java testng

目前,我有许多具有以下格式的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)

注意

  1. 方法getDataTable()将返回一个值数组

  2. testng.xml中的格式不能更改

0 个答案:

没有答案