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