如何在没有 testng.xml 文件的情况下执行 Testng 和 Maven

use*_*497 5 xml testng selenium maven selenium-webdriver

如何配置 pom.xml 文件以便我可以在不使用 testng.xml 文件的情况下运行测试脚本?如您所知,我们可以使用 XmlSuite、XmlClass、XmlTest 和 TestNg 对象动态创建 testng.xml 文件。

public class ScriptTest010 {

public static void main(String[] args) {

    List<XmlSuite> suites = new ArrayList<XmlSuite>();
    XmlSuite suite = new XmlSuite();
    suites.add(suite);


    List<XmlClass> classes = new ArrayList<XmlClass>();
    XmlClass clz = new XmlClass();
    clz.setClass(SampleTest.class);
    classes.add(clz);


    XmlTest test = new XmlTest(suite);
    test.setClasses(classes);

    Map<String, String> params = new HashMap<String, String>();
    params.put("username", "mquraishi");
    params.put("password", "nopassword1$");
    params.put("search", "eat pray love");


    test.setParameters(params);


    XmlInclude testLogin = new XmlInclude("testLogin");

    List<XmlInclude> includes = new ArrayList<>();
    includes.add(testLogin);

    clz.setIncludedMethods(includes);


    TestNG testNg = new TestNG();
    testNg.setXmlSuites(suites);
    testNg.run();



}
Run Code Online (Sandbox Code Playgroud)

}

whi*_*aaa 4

mvn test如果您遵循Maven 标准目录布局和任何测试框架或插件要求,Maven 将在生命周期阶段触发任何测试。

对于 TestNG,您可以查看使用带有 TestNG 的 Surefire 插件,如果您遵循Surefire 的测试命名约定,它将执行您的测试。

此外,这里有一篇相当新的文章,其中更深入地介绍了TestNG 设置示例