java - Parameterized Selenium Tests in Parallel with TestNG -


First of all, sorry for my english, this is not perfect :)

So I The following problem is facing: I am trying to run parallel tests in different browsers using the Selenium grid and TestGG and I pass the parameters in the @inestest method. My problem is that when every exam starts, it seems that they will use the final exam parameter so when I run the test, in this example, it will open two chrome instead of a firefox and a chrome. (Browser.zetdiver () method returns the remote webbraser)

TestNG.xml:

  & lt; Suite thread-count = "2" verbose = "10" name = "test site" parallel = "test" & gt; & Lt; Test name = "nameOfTheTestFirefox" & gt; & Lt; Parameter name = "platform" value = "window" /> & Lt; Parameter name = "browser version" value = "32" /> & Lt; Parameter name = "browser name" value = "firefox" /> & Lt; Classes & gt; & Lt; Class name = "example.test.login.LoginOverlayTest" /> & Lt; / Sections & gt; & Lt; / Test & gt; & Lt ;! - nameOfTheTestFirefox - & gt; & Lt; Test name = "nameOfTheTestChrome" & gt; & Lt; Parameter name = "platform" value = "window" /> & Lt; Parameter name = "browser version" value = "38" /> & Lt; Parameter name = "browser name" value = "chrome" /> & Lt; Classes & gt; & Lt; Class name = "example.test.login.LoginOverlayTest" /> & Lt; / Sections & gt; & Lt; / Test & gt; & Lt ;! - nameOfTheTestChrome - & gt; & Lt; / Suits & gt; & Lt ;! - testSuite - & gt;   

WebDriverPool = Archive. Synchronized list (New Arlist & lt; WebDriver & gt; ()); Private Static Thread Local & lt; WebDriver & gt; DriverThread; Public Static BrowserSetup Browser; @BarforeTest (@browser name, "browser version", "forum"}) first public static zero (string browser name, @ optional ("none") string browser version, string platform) throws WrongBrowserException, WrongPlatformException {Final Browser Setup Browser = New Browser Setup (Browser Name, Browser Version, Platform); DriverThread = New Threadlock & lt; WebDriver & gt; () {@Override Secure Web Driver's Preliminary Price () {Final WebDriver WebDriver = Browser .getDriver (); WebDriverPool.add (webDriver); Webdriver return; }}; } Public Fixed WebDriver getDriver () {return driverThread.get (); } @AfterTest public static after zero test () (for WebDriver driver: webDriverPool) {driver.quit (); }}}}

and my example @ tests:

  @Test Public Zero test1 () throws blocked exceptions {WebDriver Driver = getDriver (); System.out.println ("START: test1"); Driver.get ("http://google.com"); Thread.Sleep (5000); System.out.println ("END: test1, title:" + driver.getTitle ()); } @Test Public Zero test2 () throws interrupted exceptions {WebDriver driver = getDriver (); System.out.println ("Start: test2"); Driver.get ("http://amazon.com"); Thread.Sleep (5000); System.out.println ("END: test2, title:" + driver.getTitle ()); } @Test Public Void Trials (3) throws; Exception {WebDriver driver = getDriver (); System.out.println ("Start: Test 3"); Driver.get ("http://stackoverflow.com"); Thread.Sleep (5000); System.out.println ("END: test3, title:" + driver.getTitle ()); }  

So my question is how can I run parallel tests with the given parameters in different threads?

Thanks in advance!

Peter

Do not freeze the fields.

  Private Static List & lt; WebDriver & gt; WebDriverPool = Archive. Synchronized list (New Arlist & lt; WebDriver & gt; ()); Private Static Thread Local & lt; WebDriver & gt; DriverThread; Public Static BrowserSetup Browser;  

Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -