Die folgende Probe sollte grundsätzlich helfen, alle Ihre Fragen zu beantworten.
Wie ein @Test
mehrere Male auf der Grundlage der Werte laufen über den Tag <parameters>
bereitgestellt
Wie Parameter zu übergeben, um nur eine bestimmte Testklasse
import org.testng.ITestContext;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class FirstTestClass {
@Test(dataProvider = "getData")
public void testMethod(String param) {
System.out.println("Name = " + param);
}
@DataProvider
public Object[][] getData(ITestContext context) {
String parameter = context.getCurrentXmlTest().getLocalParameters().get("names");
String[] names = parameter.split(",");
Object[][] returnValues = new Object[names.length][1];
int index = 0;
for (Object[] each : returnValues) {
each[0] = names[index++].trim();
}
return returnValues;
}
}
Hier parsen wir ein Einzelparameter, der über die Datei testng.xml
an mehrere Werte übergeben wurde, indem sie unter Verwendung von ,
aufgeteilt wurden
So sieht die zweite Testklasse aus, die einen testklassenspezifischen Parameter erhalten soll.
public class SecondTestClass {
@Test
@Parameters({"age"})
public void testMethod(int age) {
System.out.println("Age = " + age);
}
}
Schließlich ist hier, wie die testng.xml
aussehen würde:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="45160355_Suite" parallel="false" verbose="2" >
<test name="45160355_test" verbose="2">
<parameter name="names" value="Cedric, Julien"/>
<classes>
<class name="com.rationaleemotions.stackoverflow.qn45160355.FirstTestClass">
</class>
<class name="com.rationaleemotions.stackoverflow.qn45160355.SecondTestClass">
<parameter name="age" value="15"/>
</class>
</classes>
</test>
</suite>
Hier ist die Ausgabe
... TestNG 6.11 by Cédric Beust ([email protected])
...
{names=Cedric, Julien}
Name = Cedric
Name = Julien
Age = 15
===============================================
45160355_Suite
Total tests run: 3, Failures: 0, Skips: 0
===============================================
Könnten Sie Ihre Testklasse teilen? – juherr