selva
selva

Reputation: 1175

Selenium Grid 2 parallel Test Case execution

I want to use Selenium Grid for my Testing in that I have successfully launched the Grid and Launched the HUB and NODE .. i also did set my RemoteWebdriver Capability perfectly .. but when I try run the test, all the browers is being opened perfectly but the problem i'm facing is that some browser stop in the middle like

some open the webpage and stops
some enters the login page and stops some loges in and stop and giving me the ERROR as

Can anyone please help me ... Thanks in Advance.

My sample Code is

public class GmailMail{
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @BeforeClass
public void setup(String browser) throws InterruptedException, IOException {
    DesiredCapabilities capability=null;

    if(browser.equalsIgnoreCase("googlechrome")){ 

        /*ChromeDriverService chromeDriverService = new ChromeDriverService.Builder()
        .usingDriverExecutable(
                new File("D:\\downloaded setup\\zip file\\chromedriver_win_26.0.1383.0\\chromedriver.exe"))
        .usingAnyFreePort().build();
chromeDriverService.start();
driver = new ChromeDriver(chromeDriverService);*/

  System.out.println("googlechrome"); 
  capability= DesiredCapabilities.chrome(); 
  capability.setBrowserName("chrome"); 
  capability.setPlatform(org.openqa.selenium.Platform.WINDOWS); 
  //capability.setVersion(""); 

  System.setProperty("webdriver.chrome.driver",
        "D:\\downloaded setup\\zip file\\chromedriver_win_26.0.1383.0\\chromedriver.exe");
        driver = new ChromeDriver();
    }

    if(browser.equalsIgnoreCase("firefox")){
        System.out.println("firefox");
        capability= DesiredCapabilities.firefox();
        capability.setBrowserName("firefox"); 
        capability.setPlatform(org.openqa.selenium.Platform.ANY);
        //capability.setVersion("");
    }

    if(browser.equalsIgnoreCase("iexplore")){
        System.out.println("iexplore");
        capability= DesiredCapabilities.internetExplorer();
        capability.setBrowserName("iexplore"); 
        capability.setPlatform(org.openqa.selenium.Platform.WINDOWS);
        //capability.setVersion("");*/
        System.setProperty("webdriver.ie.driver", "D:\\downloaded setup\\zip file\\IEDriverServer_Win32_2.29.0\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
    }

    driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
    driver.navigate().to(baseUrl);
    long ss = Thread.currentThread().getId();
    System.out.println("ss: "+ss);

}


  @Test
  public void testUntitled() throws Exception {
    driver.get(baseUrl + "/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/&scc=1&ltmpl=default&ltmplcache=2");
    driver.findElement(By.id("Email")).clear();
    driver.findElement(By.id("Email")).sendKeys("YourUserName");
    driver.findElement(By.id("Passwd")).clear();
    driver.findElement(By.id("Passwd")).sendKeys("YourPassowrd");
    driver.findElement(By.id("signIn")).click();

  }

  @AfterClass
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alert.getText();
    } finally {
      acceptNextAlert = true;
    }
  }
}

and my Testng.xml is

<suite name="Same TestCases on Different Browser" verbose="3"  parallel="tests" thread-count="2">   
  <test name="Run on Internet Explorer">
    <parameter name="browser"  value="firefox"/>
    <classes>
      <class name="TestPAck1.GmailMail"/>
    </classes>
 </test>  
  <test name="Run on Internet Explorer1">
    <classes>
    <parameter name="browser"  value="googlechrome"/>
      <class name="TestPAck1.GmailMail"/>
    </classes>
 </test>

 </suite>

Upvotes: 0

Views: 2621

Answers (1)

Sai
Sai

Reputation: 247

at first glance this seems to be a sync issue. If you could share the appropriate section of your code, it might be easier to identify the issue.

Upvotes: 1

Related Questions