Hi ,
I am facing weird issue of URL not getting passed to browser. My test class has multiple @Test 's. Though multiple browser instances and threads are getting created, only one browser instance has URL. In case of chrome , its showing "data:,"
and in firefox empty url.
Kindly find below configuration
public class BaseTest {
protected WebDriver driver ;
protected DesiredCapabilities desiredCapabilities;
HomePage pg;
@BeforeMethod
@Parameters("browser")
public void setUp(String browser) throws MalformedURLException {
System.out.println("in the setup method "+Thread.currentThread().getId());
if (browser.equalsIgnoreCase("firefox")) {
System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver");
driver = new FirefoxDriver();
driver.manage().window().maximize();
} else if (browser.equalsIgnoreCase("chrome")) {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver");
driver = new ChromeDriver();
Toolkit toolkit = Toolkit.getDefaultToolkit();
int Width = (int) toolkit.getScreenSize().getWidth();
int Height = (int) toolkit.getScreenSize().getHeight();
driver.manage().window().setSize(new org.openqa.selenium.Dimension(Width, Height));
} else {
throw new IllegalArgumentException("Invalid browser value!!");
}
driver.get("http://automationpractice.com/index.php");
}
@AfterMethod
public void teardown() throws Exception {
driver.quit();
}
TESTNG.XML
<suite name="TestNG Test" parallel="methods" thread-count="4">
<test name="Chrome Tests">
<classes>
<parameter name="browser" value="chrome" />
<class name="com.abn.testNGTest.FirstTest"/>
</classes>
</test>
</suite>
public class FirstTest extends BaseTest {
@Test()
public void aTest() throws IOException {
System.out.println("aTest in " + getClass().getSimpleName()
+ " with Thread Id: " + Thread.currentThread().getId());
pg = new HomePage(driver);
}
@Test()
public void bTest() throws Exception {
System.out.println("contactUsTest in " + getClass().getSimpleName()
+ " with Thread Id: " + Thread.currentThread().getId());
pg = new HomePage(driver);
}
Here only one of the test method gets URL though multiple threads and browser instance gets created.
Kindly let me know if am doing something wrong in configuration.
Regards,
Aswathy