Saturday, 19 December 2015

How to run selenium scripts in multiple browsers paralally

Selenium Script:


import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class Multiple_Browser_Test {
   

    WebDriver d;
    private static String userEmail="admin@yourstore.com";
    private static String userPassword="admin";
@Parameters("browser")   
@BeforeTest
public void setUp(String browser) throws Exception
//public void setUp() throws Exception
{
    if(browser.equalsIgnoreCase("firefox"))
    {
    d=new FirefoxDriver();
    }
    else if(browser.equalsIgnoreCase("chrome"))
    {
    System.setProperty("webdriver.chrome.driver", "E:\\jars\\chromedriver.exe");
    d=new ChromeDriver();
    }
else if(browser.equalsIgnoreCase("IE"))
{
    System.setProperty("webdriver.chrome.driver", "E:\\jars\\IEDriverServer.exe");
d=new ChromeDriver();
}
      else{
         
          //If no browser passed throw exception

          throw new Exception("Browser is not correct");

      }
    d.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
    @Test
    public void multipleBrowser() throws InterruptedException
    {
        d.get("http://gmail.com/login");
        d.manage().window().maximize();
        d.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        d.findElement(By.id("Email")).sendKeys(userEmail);
        d.findElement(By.id("Password")).sendKeys(userPassword);
 

    }
@AfterTest
public void tearDown()
{
    d.quit();
}
}

XML code:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="tests">
  <test name="Firefox Test">
  <parameter name="browser" value="Firefox"/>
    <classes>
      <class name="nopECommerceAdmin.Multiple_Browser_Test"/>
    </classes>
  </test>
 
<test name="Chrome Test">
  <parameter name="browser" value="chrome"/>
    <classes>
      <class name="nopECommerceAdmin.Multiple_Browser_Test"/>
    </classes>
  </test>

<test name="Internet explorer Test">
  <parameter name="browser" value="IE"/>
    <classes>
      <class name="nopECommerceAdmin.Multiple_Browser_Test"/>
    </classes>
  </test>
 
 
 
  </suite>

No comments:

Post a Comment