Not sure where am going wrong, i am trying to run same set of test one after the other on multiple browser.
TestNG.xml
<suite name="Selenium Tests" parallel="false" thread-count="5"> <listeners> <listener class-name="ww5.listener.Listener" /> </listeners> <test name="Chrome" preserve-order="true"> <parameter name="browser" value="chrome"/> <classes> <class name="ww5.testcases.version.version" ></class> <class name="ww5.testcases.loginSuite.LoginTest" ></class> <class name="ww5.testcases.loginSuite.LogoutTest" ></class> </classes> </test> <test name="Firefox" preserve-order="true"> <parameter name="browser" value="firefox"/> <classes> <class name="ww5.testcases.version.version" ></class> <class name="ww5.testcases.loginSuite.LoginTest" ></class> <class name="ww5.testcases.loginSuite.LogoutTest" ></class> </classes> </test> </suite> When i run this, all the test are excuted on chrome, how do i make it excute on firefox after it finish excuting on chrome.
OpenBrowser.java
@Parameters ({"browser"}) @BeforeClass public void launchBrowser(String browser) throws Exception { //initLogs(this.getClass()); initConfigurations(); if (driver == null) { DesiredCapabilities cap = null; if(browser.equalsIgnoreCase("firefox")) { cap = DesiredCapabilities.firefox(); cap.setBrowserName("firefox"); //cap.setPlatform(org.openqa.selenium.Platform.WINDOWS); } if(browser.equalsIgnoreCase("internet explorer")) { cap = DesiredCapabilities.internetExplorer(); cap.setBrowserName("internet explorer"); cap.setPlatform(org.openqa.selenium.Platform.ANY); } if(browser.equalsIgnoreCase("chrome")) { cap = DesiredCapabilities.chrome(); cap.setBrowserName("chrome"); cap.setPlatform(org.openqa.selenium.Platform.ANY); } driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), cap); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); wait = new WebDriverWait(driver,30); } }