- FussyQBert
- Posts : 1
Join date : 2011-05-14
Help with one driver instance across multiple tests
Sat May 14, 2011 12:45 am
I'm using TestNG and Selenium 2 to test my companies web application. I want to use one global instance of driver, so a new browser does not have to be opened every test. I was able to get this to work in Selenium 1, although everything in Selenium 1 took a lot more work
Pseudocode:
class {
global driver;
@BeforeMethod
method initDriver() {
if(driver == null) {
driver = new FirefoxDriver();
}
}
@AfterClass
method teardownDriver() {
driver.quit();
}
@Test
method testPage1() {
driver.get(url);
//screenshot page1
driver.screenShot();
}
@Test
method testPage2() {
//navigate from page 1 to page 2
driver.find(byid).sendKeys(login); //fails here because element does not exist
driver.find(byid).click();
//screenshot page 2
driver.screenShot();
}
}
So it fails on the find element by id. I know its the right ID. If I move that line into the first test it sets the field just fine. Is it possible to have it work like this?
EDIT: Wow sorry, I had it all tabbed out, but it didnt keep the format
Pseudocode:
class {
global driver;
@BeforeMethod
method initDriver() {
if(driver == null) {
driver = new FirefoxDriver();
}
}
@AfterClass
method teardownDriver() {
driver.quit();
}
@Test
method testPage1() {
driver.get(url);
//screenshot page1
driver.screenShot();
}
@Test
method testPage2() {
//navigate from page 1 to page 2
driver.find(byid).sendKeys(login); //fails here because element does not exist
driver.find(byid).click();
//screenshot page 2
driver.screenShot();
}
}
So it fails on the find element by id. I know its the right ID. If I move that line into the first test it sets the field just fine. Is it possible to have it work like this?
EDIT: Wow sorry, I had it all tabbed out, but it didnt keep the format
Permissions in this forum:
You cannot reply to topics in this forum