У меня есть два класса, унаследованных от класса MyTestData
, который получает тестовые данные из Excel в зависимости от переданного ему параметра.
public class A1 extends MyTestData {
public A1() {
super("A1");
}
@Test
//Methods
-
public class A2 extends MyTestData {
public A2() {
super("A2");
}
@Test
//Methods
-
public class MyTestData {
public MyTestData(String test) {
System.out.println("test data parameter is " + test);
switch (test) {
case "A1":
A1_data();
break;
case "A2":
A2_data();
break;
}
}
private void A1_data() {
//Fetch data from excel
}
private void A2_data() {
//Fetch data from excel
}
У меня есть два этих класса в testng. xml file
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<test name="Test A1">
<classes>
<class name="mypackage.A1"/>
</classes>
</test>
<test name="Test A2">
<classes>
<class name="mypackage.A2"/>
</classes>
</test>
</suite>
Но когда я запускаю файл xml, я получаю вывод на консоль, как только начинается выполнение:
test data parameter is A1
test data parameter is A2
И тест А1 выполняется с данными А2. Почему это происходит и как я могу предотвратить это? Я хочу, чтобы A2 запускался после завершения A1.