Friday, 2 February 2018

Cross Browser Testing Using TestNG Concept in Selenium

CrossBrowser Testing: 

To Test the Application in Different Browsers in Parallel.

Requirements:

TestNg Class

Browser's:Chrome,Firefox,IE

XML Suite File:For passing the parameters to the class.

Annotations:@Parameters,@BeforeMethod,@AfterMethod.

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;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class cross {
WebDriver g;
@Test
public void f() {
g.manage().window().maximize();
g.get("Mention Ur Url");
}
@Parameters("browser")
@BeforeTest
public void beforeTest(String browser) throws Exception
{
if(browser.equalsIgnoreCase("firefox"))
{
g=new FirefoxDriver();
}
else if(browser.equalsIgnoreCase("chrome"))
{
System.setProperty("webdriver.chrome.driver","d:\\driver1\\chromedriver.exe");
g=new ChromeDriver();
}
else if(browser.equalsIgnoreCase("ie"))
{
System.setProperty("webdriver.ie.driver", "d:\\driver1\\IEDriverServer.exe");
g=new InternetExplorerDriver();
}
else{
//If no browser passed throw exception
throw new Exception("Browser is not correct");
}
g.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@AfterTest
public void afterTest() {
g.close();

XML Suite File: 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestSuite" parallel="tests" >
<test name="ChromeTest">
<parameter name="browser" value="Chrome" />
<classes>
<class name="test.cross">
</class>
</classes>
</test>
<test name="FirefoxTest">
<parameter name="browser" value="Firefox" />
<classes>
<class name="test.cross">
</class>
</classes>
</test>
<test name="IETest">
<parameter name="browser" value="IE" />
<classes>
<class name="test.cross">
</class>
</classes>
</test>
</suite> 

Note: When give parallel="tests" it run the browser simulataneously

or When parallel="false" it run the browser one by one.



 

No comments:

Post a Comment