Comment faire pour exécuter Selenium webdriver des cas de test dans plusieurs navigateur l'un après l'autre navigateur obtenir la finition à l'aide de TestNg et eclipse

Je veux courir selenium webdriver des cas de test dans tous les navigateur multiples mais pas en parallèle.Est-il possible d'exécuter des cas de test dans tous les multiples de navigateur sans l'aide de xml et de sélénium de la grille.On peut le faire en utilisant l'annotation et des classes java.Je voulais que mon cas de test à exécuter dans firefox en premier et après l'achèvement de l'exécution dans firefox, il devrait commencer à exécution dans google chrome, et ainsi de suite.

J'ai essayé ce code mais l'exécution est parallèle à l'aide de xml.

CrossBrowserScript.java

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.ie.InternetExplorerDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class CrossBrowserScript {

    WebDriver driver;

    /**
     * This function will execute before each Test tag in testng.xml
     * @param browser
     * @throws Exception
     */
    @BeforeTest
    @Parameters("browser")
    public void setup(String browser) throws Exception{
        //Check if parameter passed from TestNG is 'firefox'
        if(browser.equalsIgnoreCase("firefox")){
        //create firefox instance
            driver = new FirefoxDriver();
        }
        //Check if parameter passed as 'chrome'
        else if(browser.equalsIgnoreCase("chrome")){
            //set path to chromedriver.exe
            System.setProperty("webdriver.chrome.driver",".\\chromedriver.exe");
            //create chrome instance
            driver = new ChromeDriver();
        }
        //Check if parameter passed as 'IE'
                else if(browser.equalsIgnoreCase("ie")){
                    //set path to IE.exe
                    System.setProperty("webdriver.ie.driver",".\\IEDriverServer.exe");
                    //create IE instance
                    driver = new InternetExplorerDriver();
                }
        else{
            //If no browser passed throw exception
            throw new Exception("Browser is not correct");
        }
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }

    @Test
    public void testParameterWithXML() throws InterruptedException{
        driver.get("http://demo.guru99.com/V4/");
        //Find user name
        WebElement userName = driver.findElement(By.name("uid"));
        //Fill user name
        userName.sendKeys("guru99");
        //Find password
        WebElement password = driver.findElement(By.name("password"));
        //Fill password
        password.sendKeys("guru99");
    }
}

testngCrossBrowser.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestSuite" thread-count="3"  parallel="tests" >
  <test name="ChromeTest">
  <parameter name="browser" value="Chrome" />
    <classes>
       <class name="parallelTest.CrossBrowserScript">
       </class>
    </classes>
  </test>
  <test name="FirefoxTest">
  <parameter name="browser" value="Firefox" />
    <classes>
       <class name="parallelTest.CrossBrowserScript">
       </class>
    </classes>
  </test>
  <test name="IETest">
  <parameter name="browser" value="IE" />
    <classes>
       <class name="parallelTest.CrossBrowserScript">
       </class>
    </classes>
  </test>
 </suite>
  • vnnogile, vous devez les accepter une réponse. Pawels réponse a fonctionné pour moi!
InformationsquelleAutor vnnogile | 2015-04-07