Сопоставить Testng.xml с классом через @DataProvider? - PullRequest
2 голосов
/ 22 марта 2019

В настоящее время у меня есть несколько тестовых примеров 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) {
.
.
.

Мои вопросыесть ли способ сопоставить параметры, перечисленные в Testng.xml, с классом, специфичным только для этого теста на уровне @dataprovider?У меня была идея сопоставить Object[][] с классом

edit

Возможно ли сопоставить классу, как это?

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 не может измениться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...