Best Testng code snippet using org.testng.xml.XmlTest.setParallel
Source:XMLCreator.java  
...60			System.out.println("TESTNAME : " + testName);61			if (testName.equals("Browser")) {62				test = new XmlTest(suiteD);63				test.setName(testName);64				test.setParallel(XmlSuite.DEFAULT_PARALLEL);65			} else if (testName.equals("mBrowser")) {66				test = new XmlTest(suiteM);67				test.setName(testName);68				test.setThreadCount(12);69				test.setParallel(XmlSuite.DEFAULT_PARALLEL);70			} else if(testName.equals("BrowserStack")){71				test = new XmlTest(suiteB);72				test.setName(testName);73				test.setThreadCount(1);74				test.setParallel(XmlSuite.DEFAULT_PARALLEL);75			}76		}77		// test.setXmlClasses(xmlClassesList);78	}79	private static void initXML() {80		int threadcount = Integer.parseInt(ProjectConfig.getPropertyValue("threadCount"));81		int dpthreadcount = Integer.parseInt(ProjectConfig.getPropertyValue("dataproviderThreadCount"));82		suiteD = new XmlSuite();83		suiteD.setName("Browser");84		suiteD.setThreadCount(threadcount);85		//suiteD.setParallel(ParallelMode.METHODS);86		suiteD.setParallel(XmlSuite.PARALLEL_TESTS);87		// suiteD.setVerbose(10);88		suiteD.setDataProviderThreadCount(dpthreadcount);89		suiteM = new XmlSuite();90		suiteM.setName("mBrowser");91		suiteM.setParallel(XmlSuite.PARALLEL_TESTS);92		suiteM.setThreadCount(12);93		suiteM.setDataProviderThreadCount(1);94		95		suiteB = new XmlSuite();96		suiteB.setName("BrowserStack");97		suiteB.setParallel(XmlSuite.PARALLEL_TESTS);98		suiteB.setThreadCount(10);99		suiteB.setDataProviderThreadCount(5);100	}101	private static String getXMLD() {102		return suiteD.toXml();103	}104	private static String getXMLM() {105		return suiteM.toXml();106	}107	108	private static String getXMLB() {109		return suiteB.toXml();110	}111	private static void writeToXMLD(String xml) {112		try {113			@SuppressWarnings("resource")114			Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("TestNgD.xml"), "utf-8"));115			writer.write(xml);116			writer.flush();117		} catch (IOException e) {118			e.printStackTrace();119		}120	}121	private static void writeToXMLM(String xml) {122		try {123			@SuppressWarnings("resource")124			Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("TestNgM.xml"), "utf-8"));125			writer.write(xml);126			writer.flush();127		} catch (IOException e) {128			e.printStackTrace();129		}130	}131	132	private static void writeToXMLB(String xml) {133		try {134			@SuppressWarnings("resource")135			Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("TestNgB.xml"), "utf-8"));136			writer.write(xml);137			writer.flush();138		} catch (IOException e) {139			e.printStackTrace();140		}141	}142	public void setCombination(Map<String, Map<String, Map<String, ArrayList<Map<String, String>>>>> testsComb) {143		XMLCreator.testsComb = testsComb;144	}145	public void writeTestNG(Map<String, String> combmap) {146		test = new XmlTest(suiteD);147		test.setThreadCount(12);148		test.setName(combmap.get("Testname") + "-" + combmap.get("Data"));149		writeXML(test, combmap);150	}151	public void writeTestNGMob(Map<String, String> combmap) {152		test = new XmlTest(suiteM);153		test.setThreadCount(1);154		test.setName(combmap.get("Testname") + "-" + combmap.get("Device"));155		writeXML(test, combmap);156	}157	158	public void writeTestNGBS(Map<String, String> combmap) {159		test = new XmlTest(suiteB);160		test.setThreadCount(1);161		test.setName(combmap.get("Testname") + "-" + combmap.get("Data"));162		writeXML(test, combmap);163	}164	private void writeXML(XmlTest test, Map<String, String> combmap) {165		test.setParallel(XmlSuite.DEFAULT_PARALLEL);166		xmlclasslist = new ArrayList<XmlClass>();167		classxml = new XmlClass(basepkg + "." + combmap.get("Classname"));168		includemethod = classxml.getIncludedMethods();169		includemethod.add(new XmlInclude(combmap.get("Testname")));170		xmlclasslist.add(classxml);171		test.setXmlClasses(xmlclasslist);172	}173	public static void writeTestTag(String dkey, String classNM, List<String> mNames) {174		test = new XmlTest(suiteM);175		test.setThreadCount(1);176		test.setName(dkey);177		test.setThreadCount(1);178		xmlclasslist = new ArrayList<XmlClass>();179		classxml = new XmlClass(basepkg + "." + classNM);...Source:Runner.java  
...87    }88    //parallel in suite89    private static void setSuiteParallelizationType(XmlSuite suite) {90        if (TESTNG_PARALLELIZATION_MODE == null) {91            suite.setParallel(XmlSuite.ParallelMode.NONE);92            return;93        }94        String parallelMode = TESTNG_PARALLELIZATION_MODE.toLowerCase().trim();95        switch (parallelMode) {96            case "classes":97                suite.setParallel(XmlSuite.ParallelMode.CLASSES);98                break;99            case "methods":100                suite.setParallel(XmlSuite.ParallelMode.METHODS);101                break;102            case "tests":103                suite.setParallel(XmlSuite.ParallelMode.TESTS);104                break;105            case "instances":106                suite.setParallel(XmlSuite.ParallelMode.INSTANCES);107                break;108            default:109                suite.setParallel(XmlSuite.ParallelMode.NONE);110        }111    }112    // thread count in suite113    private static void setSuiteThreadCount(XmlSuite suite){114        if (TESTNG_THREADS_QTY == null) {115            suite.setThreadCount(MIN_TESTNG_THREADS);116            return;117        }118        try {119            int threadQty = Integer.parseInt(TESTNG_THREADS_QTY);120            if (threadQty<MIN_TESTNG_THREADS){121                threadQty = MIN_TESTNG_THREADS;122            } else if (threadQty > MAX_TESTNG_THREADS){123                threadQty = MAX_TESTNG_THREADS;...Source:CreateXmlFile.java  
...37	38	/**39	 * æé å½æ°40	 * @param threadCont çº¿ç¨æ°41	 * @param setParallel 设置å¤çº¿ç¨æ¹å¼42	 */43	public CreateXmlFile(int threadCont,String setParallel){44		suite=new XmlSuite();45		setSuiteName("æµè¯å¥ä»¶"+CommUtils.getRandomStr(5),threadCont,setParallel);46		setXmlFileFolder(DispatchConf.SuitsXmlPath);47	}48	49	public String getXmlFilePath(){50		if (suite.getTests().size()<1) {51			log.error("æªæ·»å ä»»ä½æµè¯éï¼æªçæxmlæä»¶");52			return null;53		}else{54			return createXmlFile();55		}56	}57	58	/**59	 * æ·»å javaç¨ä¾60	 * @param cls61	 */62	public void addJavaCase(Class<?> cls){63		if (null==cls) return ;64		String caseName=cls.getSimpleName();65		addJavaCase(caseName, cls);66	}67	/**68	 * æ·»å javaç¨ä¾69	 * @param caseName ç¨ä¾åç§°70	 * @param cls ç±»71	 */72	public void addJavaCase(String caseName,Class<?> cls) {73		if (null==cls ) {74			log.error("æ·»å çjava类为nullï¼æ·»å å¤±è´¥");75			return;76		}77		if (null==caseName || caseName.length()<1) {78			log.info("æå®çæµè¯é为空ï¼"+caseName);79			String nameTmp="æªå½åæµè¯é"+CommUtils.getRandomStr(5);80			log.info("使ç¨é»è®¤æµè¯éåç§°ï¼"+nameTmp);81			addClassToXmlTest(cls.getName(), nameTmp);82			return;83		}84		addClassToXmlTest(cls.getName(), caseName);85	}8687	/**88	 * 设置æµè¯å¥åç§°89	 * @param suiteName90	 */91	public void setSuiteName(String suiteName) {92		if (null!=suiteName && suiteName.length()>0) {93			this.suiteName = suiteName;94		}else{95			log.info("è®¾ç½®çæµè¯å¥ä»¶å称为空");96			log.info("使ç¨é»è®¤æµè¯å¥åç§°ï¼"+this.suiteName);97		}98		suite.setName(this.suiteName);99		suite.setVerbose(1);100	}101102	/**103	 * 设置æµè¯å¥åç§°104	 * @param suiteName105	 * @param threadCont æ§è¡ççº¿ç¨æ°106	 * @param setParallel 设置å¤çº¿ç¨çæ¹å¼107	 */108	public void setSuiteName(String suiteName,int threadCont,String setParallel) {109		this.setSuiteName(suiteName);110		if(threadCont>0){111			suite.setParallel(setParallel); //设置å¤çº¿ç¨çæ¹å¼ methods ,tests,classes112			suite.setThreadCount(threadCont);  //设置å¤çº¿ç¨ç个æ°113		}114	}115	116	public void setXmlFileFolder(String xmlFileFolder) {117		this.xmlFileFolder = xmlFileFolder;118	}119	private void addClassToXmlTest(String pkgAndClsName,String testName) {120		XmlTest xmltest=new XmlTest();121		XmlClass classe=new XmlClass(pkgAndClsName);122		xmltest.setName(testName);123		xmltest.setClasses(Arrays.asList(classe));124		addTest(xmltest);125	}
...Source:TestNGRunner1.java  
...53		54		XmlSuite suite = new XmlSuite();55		suite.setName("Suit");56		suite.setThreadCount(10);57		suite.setParallel(ParallelMode.TESTS);58		List<String> listeners = new ArrayList<String>();59		listeners.add("org.init.setup.SetupListner2");60		61		suite.setListeners(listeners);62	63		List<Map<String, String>> excelmap = excelData();64		65		for(Map<String, String> map : excelmap) {66			XmlTest xmlTest = new XmlTest(suite);67			xmlTest.setName("Test"+i++);68			xmlTest.setParallel(ParallelMode.TESTS);6970			for(Map.Entry<String, String> me : map.entrySet())71				xmlTest.addParameter(me.getKey().toString(), me.getValue().toString());72			73			List<XmlClass> classes = new ArrayList<XmlClass>();7475			classes.add(new XmlClass("org.trial.test.SimpleForm_test"));76			classes.add(new XmlClass("org.trial.test.SimpleForm_test2"));7778			xmlTest.setXmlClasses(classes);79		}80		81		System.out.println(suite.toXml().toString());82		List<XmlSuite> suites = new ArrayList<XmlSuite>();
...Source:Method_TestNG.java  
...26		test.setClasses(classes);27		List<XmlTest> tests = new ArrayList<XmlTest>();28		tests.add(test);29		suite.setTests(tests);30		testng.setParallel(ParallelMode.METHODS);31		testng.setThreadCount(3);32		List<XmlSuite> suites = new ArrayList<XmlSuite>();33		suites.add(suite);34		testng.setXmlSuites(suites);35		System.out.println(suite.toXml());36		//testng.run();37	}38	39	public static void runViaClasses(){40		Class[] classes = new Class[]{TestNGMethodSelector.class,DemoClassWithManyMethodsTest.class};41		TestNG testng = new TestNG();42		testng.setParallel(ParallelMode.METHODS);43		testng.setThreadCount(2);44		testng.setTestClasses(classes);45		testng.run();46	}47	48	public static void runXML(){49		TestNG testNG = new TestNG();50        testNG.setVerbose(2);51        testNG.setThreadCount(2);52        testNG.setParallel(ParallelMode.METHODS);53        XmlSuite suite = new XmlSuite();54        suite.setName("TestNG Forum");55        XmlTest test = new XmlTest(suite);56        test.setName("TestNG Test");57        XmlClass clazz = new XmlClass();58        //Since DemoClassWithManyMethods is a nested class, we have to use "$" symbol, else we could have just used59        //getCanonicalName() alone60        61        clazz.setName(DemoClassWithManyMethodsTest.class.getSimpleName());62        clazz.setClass(DemoClassWithManyMethodsTest.class);63        XmlInclude include = new XmlInclude("methodOne_1");64        include.setXmlClass(clazz);65        clazz.setIncludedMethods(Arrays.asList(include));66        test.setXmlClasses(Arrays.asList(clazz));...Source:TestNgRunner.java  
...21	public static void main(String[] args) {22		23		XmlSuite xmlSuite = new XmlSuite();24		xmlSuite.setName("CodeMapper");25		xmlSuite.setParallel("false");26		//xmlSuite.setParallel(XmlSuite.PARALLEL_METHODS);27		xmlSuite.setVerbose(1);28		xmlSuite.addListener("com.testcase.CustomeIsuiteListener");29		30		XmlTest xmlTest = new XmlTest(xmlSuite);31		xmlTest.setName("Test - 1");32		xmlTest.setPreserveOrder("true");33		34		XmlTest xmlTest2 = new XmlTest(xmlSuite);35		xmlTest.setName("Test - 2");36		xmlTest.setPreserveOrder("true");37		38		/*39		 * To Include specific methods40		 * */...Source:TestNgXml.java  
...9	10	public void RuntimeTestngXmlfileDistubuted(int Devicecount,String pack){11	XmlSuite suite = new XmlSuite();12    suite.setName("Cucumber Automation");13    suite.setParallel("classes");14    suite.setThreadCount(Devicecount);15    16    XmlTest test = new XmlTest(suite);17    test.setName("Automation");18    List<XmlPackage> packages = new ArrayList<XmlPackage>();19    packages.add(new XmlPackage(pack));20    test.setXmlPackages(packages) ;21    22    List<XmlSuite> suites = new ArrayList<XmlSuite>();23    suites.add(suite);24    TestNG tng = new TestNG();25    tng.setXmlSuites(suites);26    tng.run();27    28	}29	30	public void RuntimeTestngXmlfileParallel(int Devicecount, String pack){31		XmlSuite suite = new XmlSuite();32	    suite.setName("Cucumber Automation");33	    suite.setParallel("tests");34	    suite.setThreadCount(Devicecount);35	  	   36	    List<XmlPackage> allPackages = new ArrayList<>();37        XmlPackage eachPackage = new XmlPackage();38        eachPackage.setName(pack);39        allPackages.add(eachPackage);40	    41        for(int i=1;i<=Devicecount;i++){42	    XmlTest test = new XmlTest(suite);43	    test.setName("Automation"+i);44	    test.setXmlPackages(allPackages) ;45        }46 47	    List<XmlSuite> suites = new ArrayList<XmlSuite>();...Source:Auto.java  
...27       }28       for (XmlTest test : tests) {29           suites.addTest(test);30       }31       suites.setParallel(suites.PARALLEL_TESTS);32       testng.setParallel("tests");33       testng.setXmlSuites(Arrays.asList(new XmlSuite[] { suites }));34       testng.run();35   }36}...setParallel
Using AI Code Generation
1XmlTest test = new XmlTest();2test.setParallel(XmlSuite.ParallelMode.METHODS);3test.setThreadCount(5);4XmlSuite suite = new XmlSuite();5suite.setParallel(XmlSuite.ParallelMode.METHODS);6suite.setThreadCount(5);7XmlTest test = new XmlTest(suite);8test.setParallel(XmlSuite.ParallelMode.METHODS);9XmlTest test = new XmlTest(suite);10test.setParallel(XmlSuite.ParallelMode.METHODS);11test.setThreadCount(5);12XmlSuite suite = new XmlSuite();13suite.setParallel(XmlSuite.ParallelMode.METHODS);14suite.setThreadCount(5);15suite.setPreserveOrder("true");16XmlTest test = new XmlTest(suite);17test.setParallel(XmlSuite.ParallelMode.METHODS);18XmlTest test = new XmlTest(suite);19test.setParallel(XmlSuite.ParallelMode.METHODS);20test.setThreadCount(5);21XmlSuite suite = new XmlSuite();22suite.setParallel(XmlSuite.ParallelMode.METHODS);23suite.setThreadCount(5);24suite.setPreserveOrder("true");25XmlTest test = new XmlTest(suite);26test.setParallel(XmlSuite.ParallelMode.METHODS);27XmlTest test = new XmlTest(suite);28test.setParallel(XmlSuite.ParallelMode.METHODS);29test.setThreadCount(5);30XmlSuite suite = new XmlSuite();31suite.setParallel(XmlSuite.ParallelMode.METHODS);32suite.setThreadCount(5);33suite.setPreserveOrder("true");34XmlTest test = new XmlTest(suite);35test.setParallel(XmlSuite.ParallelMode.METHODS);36XmlTest test = new XmlTest(suite);37test.setParallel(XmlSuite.ParallelMode.METHODS);38test.setThreadCount(5);39XmlSuite suite = new XmlSuite();40suite.setParallel(XmlSuite.ParallelMode.METHODS);41suite.setThreadCount(5);42suite.setPreserveOrder("true");43XmlTest test = new XmlTest(suite);44test.setParallel(XmlSuite.ParallelMode.METHODS);45XmlTest test = new XmlTest(suite);setParallel
Using AI Code Generation
1XmlTest xmlTest = new XmlTest();2xmlTest.setParallel(XmlSuite.ParallelMode.METHODS);3xmlTest.setThreadCount(2);4XmlSuite xmlSuite = new XmlSuite();5xmlSuite.setParallel(XmlSuite.ParallelMode.METHODS);6xmlSuite.setThreadCount(2);setParallel
Using AI Code Generation
1import org.testng.xml.XmlSuite2import org.testng.xml.XmlTest3import groovy.transform.CompileStatic4import java.util.concurrent.TimeUnit5class TestParallel {6    public static void main(String[] args) {7        XmlSuite suite = new XmlSuite()8        suite.setName("mySuite")9        XmlTest test = new XmlTest(suite)10        test.setName("myTest")11        test.setParallel(XmlSuite.ParallelMode.METHODS)12        test.setThreadCount(5)13        test.setTimeOut("60000")14        test.setVerbose(0)15        def tc1 = new XmlTest.TestClass()16        tc1.setName("test.Test1")17        def tc2 = new XmlTest.TestClass()18        tc2.setName("test.Test2")19        test.setXmlClasses([tc1, tc2])20        def suites = new ArrayList<XmlSuite>()21        suites.add(suite)22        org.testng.TestNG tng = new org.testng.TestNG()23        tng.setXmlSuites(suites)24        tng.run()25    }26}setParallel
Using AI Code Generation
1public void test() {2    XmlTest xmlTest = new XmlTest();3    xmlTest.setParallel(ParallelMode.METHODS);4    System.out.println(xmlTest.getParallel());5}6public void test() {7    XmlTest xmlTest = new XmlTest();8    xmlTest.setParallel(ParallelMode.TESTS);9    System.out.println(xmlTest.getParallel());10}TestNG is a Java-based open-source framework for test automation that includes various test types, such as unit testing, functional testing, E2E testing, etc. TestNG is in many ways similar to JUnit and NUnit. But in contrast to its competitors, its extensive features make it a lot more reliable framework. One of the major reasons for its popularity is its ability to structure tests and improve the scripts' readability and maintainability. Another reason can be the important characteristics like the convenience of using multiple annotations, reliance, and priority that make this framework popular among developers and testers for test design. You can refer to the TestNG tutorial to learn why you should choose the TestNG framework.
You can push your abilities to do automated testing using TestNG and advance your career by earning a TestNG certification. Check out our TestNG certification.
Watch this complete tutorial to learn how you can leverage the capabilities of the TestNG framework for Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!
