1*83a54b2fSSadaf Ebrahimi package test; 2*83a54b2fSSadaf Ebrahimi 3*83a54b2fSSadaf Ebrahimi import org.testng.TestNG; 4*83a54b2fSSadaf Ebrahimi import org.testng.collections.Lists; 5*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlClass; 6*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlSuite; 7*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlTest; 8*83a54b2fSSadaf Ebrahimi 9*83a54b2fSSadaf Ebrahimi import java.io.File; 10*83a54b2fSSadaf Ebrahimi import java.util.ArrayList; 11*83a54b2fSSadaf Ebrahimi import java.util.List; 12*83a54b2fSSadaf Ebrahimi import java.util.Random; 13*83a54b2fSSadaf Ebrahimi 14*83a54b2fSSadaf Ebrahimi public class TestHelper { 15*83a54b2fSSadaf Ebrahimi createSuite(String cls, String suiteName)16*83a54b2fSSadaf Ebrahimi public static XmlSuite createSuite(String cls, String suiteName) { 17*83a54b2fSSadaf Ebrahimi return createSuite(cls, suiteName, "TmpTest"); 18*83a54b2fSSadaf Ebrahimi } 19*83a54b2fSSadaf Ebrahimi createSuite(Class<?> cls, String suiteName, String testName)20*83a54b2fSSadaf Ebrahimi public static XmlSuite createSuite(Class<?> cls, String suiteName, String testName) { 21*83a54b2fSSadaf Ebrahimi return createSuite(cls.getName(), suiteName, testName); 22*83a54b2fSSadaf Ebrahimi } 23*83a54b2fSSadaf Ebrahimi createSuite(String cls, String suiteName, String testName)24*83a54b2fSSadaf Ebrahimi private static XmlSuite createSuite(String cls, String suiteName, String testName) { 25*83a54b2fSSadaf Ebrahimi XmlSuite result = new XmlSuite(); 26*83a54b2fSSadaf Ebrahimi result.setName(suiteName); 27*83a54b2fSSadaf Ebrahimi 28*83a54b2fSSadaf Ebrahimi XmlTest test = new XmlTest(result); 29*83a54b2fSSadaf Ebrahimi test.setName(testName); 30*83a54b2fSSadaf Ebrahimi List<XmlClass> classes = new ArrayList<>(); 31*83a54b2fSSadaf Ebrahimi classes.add(new XmlClass(cls)); 32*83a54b2fSSadaf Ebrahimi test.setXmlClasses(classes); 33*83a54b2fSSadaf Ebrahimi 34*83a54b2fSSadaf Ebrahimi return result; 35*83a54b2fSSadaf Ebrahimi } 36*83a54b2fSSadaf Ebrahimi createTestNG(String outputDir)37*83a54b2fSSadaf Ebrahimi public static TestNG createTestNG(String outputDir) { 38*83a54b2fSSadaf Ebrahimi return createTestNG(null, outputDir); 39*83a54b2fSSadaf Ebrahimi } 40*83a54b2fSSadaf Ebrahimi createTestNG()41*83a54b2fSSadaf Ebrahimi public static TestNG createTestNG() { 42*83a54b2fSSadaf Ebrahimi return createTestNG(null, null); 43*83a54b2fSSadaf Ebrahimi } 44*83a54b2fSSadaf Ebrahimi createTestNG(XmlSuite suite)45*83a54b2fSSadaf Ebrahimi public static TestNG createTestNG(XmlSuite suite) { 46*83a54b2fSSadaf Ebrahimi return createTestNG(suite, System.getProperty("java.io.tmpdir")); 47*83a54b2fSSadaf Ebrahimi } 48*83a54b2fSSadaf Ebrahimi createTestNG(XmlSuite suite, String outputDir)49*83a54b2fSSadaf Ebrahimi public static TestNG createTestNG(XmlSuite suite, String outputDir) { 50*83a54b2fSSadaf Ebrahimi TestNG result = new TestNG(); 51*83a54b2fSSadaf Ebrahimi if (suite != null) { 52*83a54b2fSSadaf Ebrahimi List<XmlSuite> suites = Lists.newArrayList(); 53*83a54b2fSSadaf Ebrahimi suites.add(suite); 54*83a54b2fSSadaf Ebrahimi result.setXmlSuites(suites); 55*83a54b2fSSadaf Ebrahimi } 56*83a54b2fSSadaf Ebrahimi if (outputDir == null) { 57*83a54b2fSSadaf Ebrahimi outputDir = createRandomDirectory().getAbsolutePath(); 58*83a54b2fSSadaf Ebrahimi } 59*83a54b2fSSadaf Ebrahimi result.setOutputDirectory(outputDir); 60*83a54b2fSSadaf Ebrahimi result.setVerbose(-1); 61*83a54b2fSSadaf Ebrahimi 62*83a54b2fSSadaf Ebrahimi return result; 63*83a54b2fSSadaf Ebrahimi } 64*83a54b2fSSadaf Ebrahimi createRandomDirectory()65*83a54b2fSSadaf Ebrahimi public static File createRandomDirectory() { 66*83a54b2fSSadaf Ebrahimi String dir = System.getProperty("java.io.tmpdir"); 67*83a54b2fSSadaf Ebrahimi Random r = new Random(System.currentTimeMillis()); 68*83a54b2fSSadaf Ebrahimi String name = "testng-tmp-" + r.nextInt(); 69*83a54b2fSSadaf Ebrahimi File result = new File(dir + File.separatorChar + name); 70*83a54b2fSSadaf Ebrahimi result.deleteOnExit(); 71*83a54b2fSSadaf Ebrahimi result.mkdirs(); 72*83a54b2fSSadaf Ebrahimi 73*83a54b2fSSadaf Ebrahimi return result; 74*83a54b2fSSadaf Ebrahimi } 75*83a54b2fSSadaf Ebrahimi ppp(String string)76*83a54b2fSSadaf Ebrahimi private static void ppp(String string) { 77*83a54b2fSSadaf Ebrahimi System.out.println("[TestHelper] " + string); 78*83a54b2fSSadaf Ebrahimi } 79*83a54b2fSSadaf Ebrahimi 80*83a54b2fSSadaf Ebrahimi } 81