package com.test.main; import org.testng.TestListenerAdapter; import org.testng.TestNG; import java.util.ArrayList; import java.util.List; public class TestRunner { public static void main(String[] args) { System.out.println("Running tests!"); TestListenerAdapter tla = new TestListenerAdapter(); TestNG runner = new TestNG(); // Create a list of String List<String> suiteFiles=new ArrayList<>(); // Add xml file which you have to execute //suiteFiles.add(args[0]); suiteFiles.add("C:\\test\\testsuite.xml"); // now set xml file for execution runner.setTestSuites(suiteFiles); runner.addListener(tla); runner.run(); System.exit(0); } }
Here we can go ahead to run this main method.
Also, if we want to run a TestNG test with a jar, then we can export the program as a jar with Eclipse. Here is the refer to export runnable jar with Eclipse:
http://blog.csdn.net/xiaoguaihai/article/details/42462761
If we want the test suite files as a param in java -jar command, then can modify the program as below:
suiteFiles.add(args[0]);
Run java command in CMD:
java -jar TestRunner.jar C:\\test\\testsuite.xml
Note: You'd better export the jar file in the same folder with source code to avoid there may be some depends for the test running cannnot be found out.