Parallel Execution on Multiple Browsers using TestNG

One of the important feature of executing test cases using tesng.xml is the parallel execution of test cases in different browsers. Say for example we want to test a particular scenario parallelly in three different browsers (say Mozilla Firefox, Google Chrome, and Internet Explorer).

In testng.xml file we will define three different tests (one for each browser type) with a parameter say Browser Type.

An attribute parallel = “tests” will be passed in the test suite, which makes the execution as parallel. By default execution is sequential.

TestNG.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel Testing" parallel="tests">
	<test name="Firefox testing">
		<parameter name="BrowserType" value="firefox"></parameter>
		<classes>
			<class name="testng.ParallelTest"/>
		</classes>
	</test>
	<test name="Chrome testing">
		<parameter name="BrowserType" value="chrome"></parameter>
		<classes>
			<class name="testng.ParallelTest"/>
		</classes>
	</test>
	<test name="Internet Explorer testing">
		<parameter name="BrowserType" value="ie"></parameter>
		<classes>
			<class name="testng.ParallelTest"/>
		</classes>
	</test>
</suite>

TestNG.java File:

package testng;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class ParallelTest {
	WebDriver Driver;

	@Parameters ("BrowserType")
	@Test
	public void invokeBrowser(String sBrowserType){

		if(sBrowserType.equalsIgnoreCase("chrome")){

			System.setProperty("webdriver.chrome.driver",
			"C:\\workspace\\libs\\chromedriver.exe");
			Driver = new ChromeDriver();
		} else if(sBrowserType.equalsIgnoreCase("firefox")){
			Driver = new FirefoxDriver();
		} else if (sBrowserType.equalsIgnoreCase("ie")){

			System.setProperty("webdriver.ie.driver",
			"C:\\workspace\\libs\\IEDriverServer.exe");
			Driver = new InternetExplorerDriver();
		}

		Driver.manage().deleteAllCookies();
		Driver.manage().window().maximize();

		Driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

		Driver.get("http://www.qatechhub.com/v4");

	}

}

For any queries, suggestions or feedback feel free to write us at saurabh@qatechhub.com or support@qatechhub.com

Saurabh Dhingra

About the Author

Saurabh Dhingra

Follow Saurabh Dhingra: