【发布时间】:2020-03-16 01:09:45
【问题描述】:
我创建了一个创建动态 testng xml 的测试运行器,因此我可以运行带有参数的测试套装。 所有@Test 方法都在相关类中(例如 LoginTest.class)。 它可以从 IDE 完美运行,但使用 Maven (mvn test) 它只会打印 BUILD SUCCESS 但不运行任何测试...
POM.xml 中的 maven-surefire-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<environmentVariables>
<suite>LoginTest</suite>
</environmentVariables>
<includes>
<include>src/test/java/runner/TestRunner.java</include>
</includes>
</configuration>
</plugin>
我的 TestRunner 类:
public class TestRunner {
public static void main(String[] args) {
XmlSuite suite = new XmlSuite();
suite.setName("D-Web");
suite.setThreadCount(1);
suite.setVerbose(1);
//suite.setParallel("tests");
suite.addListener("com.app.listeners.ReportListeners");
XmlTest test = new XmlTest(suite);
test.setName("Tests");
test.setPreserveOrder(true);
XmlClass testClass = getTestClass();
List<XmlClass> classes = new ArrayList<>();
classes.add(testClass);
test.setXmlClasses(classes);
TestNG testng = new TestNG();
List<XmlSuite> suites = new ArrayList<>();
suites.add(suite);
testng.setXmlSuites(suites);
testng.run();
}
public static XmlClass getTestClass() {
switch (System.getenv("suite")) {
case "LoginTest":
default:
return new XmlClass(LoginTest.class);
case "PurchaseFunnelTest":
return new XmlClass(PurchaseFunnelTest.class);
case "QuestionnaireTests":
return new XmlClass(QuestionnaireTest.class);
}
}
}
我的 LoginTest 类:
public class LoginTest {
@Test
public void test1() {
System.out.println("Test 1 is running...");
}
}
【问题讨论】:
标签: java maven selenium testng