lundi 9 avril 2018

Runing feature cucumber in parallel

I want to run a cucumber feature in different browsers; So, now I'm able to open the 3 browsers in parallel chrome, ff and ie but they can't continue the other steps in features !

My method is :

@Parameters("myBrowser")
    @BeforeClass
    @Given("^openaaaBrowser<myBrowser>$")
    public void openaaaBrowser(@Optional("optional value") String myBrowser) throws InterruptedException {
        WebDriver driver;

        if (myBrowser.equalsIgnoreCase("ie")) { 
            System.setProperty("webdriver.ie.driver","C:\\Driver\\IEDriverServer\\IEDriverServer_32bits.exe");
            driver = new InternetExplorerDriver();
        }
        if (myBrowser.equalsIgnoreCase("chrome")) { 
        System.setProperty("webdriver.chrome.driver","D:\\Drive\\chromedriver_win32\\chromedriver.exe");
        driver= new ChromeDriver();

        }
        if (myBrowser.equalsIgnoreCase("firefox")){
            System.setProperty("webdriver.gecko.driver","D:\\Drive\\geckodriver-v0.20.0-win64\\geckodriver.exe");
            driver = new FirefoxDriver();


    }}

My testng.xml :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SuiteSopraHR" parallel="tests">
<test  name="testff">
   <parameter name="myBrowser" value="firefox" /> 
    <classes>
      <class name="com.soprahr.foryou.automation.steps.StepDefinitionConnect"/>
    </classes>
  </test> <!-- Test -->
  <test  name="testie">
  <parameter name="myBrowser" value="ie" /> 
    <classes>
      <class name="com.soprahr.foryou.automation.steps.StepDefinitionConnect"/>
    </classes>
  </test> <!-- Test -->
    <test  name="testchrome">
   <parameter name="myBrowser" value="chrome" /> 
    <classes>
      <class name="com.soprahr.foryou.automation.steps.StepDefinitionConnect"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

and I have those methods

@Test(priority=1)
    @When("^Open browser$")
    public void openBrowser() throws InterruptedException {
        StepDefinition.DRIVER.get(URL);
        Thread.sleep(N_3000);
        StepDefinition.waitForJQueryProcessing(StepDefinition.DRIVER, N_30);
    }
@Test(priority=2)
    @Then("^Se connecter à l'environnement via ID '(.*)'$")
    public void letThisOneConnect(final String Id) throws Throwable {
        Thread.sleep(N_3000);

        Utilities utilities = new Utilities();
        TestCase testCase = utilities.getMyTestCase(Id);
        StepDefinition.deleteAndEnterTextById(ID_LOGIN_INPUT_4YOU, testCase.getLogInId());
        StepDefinition.deleteAndEnterTextById(ID_PASSWORD_INPUT_4YOU, testCase.getLogInPassword());
        StepDefinition.clickButtonById(ID_LOGIN_BUTTON_4OU);
    }

The problem here and I don't understand why it can't the @test methods

Aucun commentaire:

Enregistrer un commentaire