在TestNG中共享@BeforeMethod和@AfterMethod之间的驱动程序

时间:2012-07-24 17:20:04

标签: java webdriver selenium-webdriver testng

我正在testNG中编写测试。每个测试方法共享存储在类级别的许多公共属性,但每个测试方法都需要自己独立的驱动程序,因此驱动程序不能存储为类变量。这允许在并发运行时使用不同的驱动程序多次调用每个测试方法。

基本上,我尝试做的sudo代码看起来如下:

@BeforeMethod
public void setup(Argument someArg) {
    Driver driver = new Driver(argArg); 
}

@Test
public void test() {
    driver.dostuff();
}

@AfterMethod (alwaysrun = true)
public void teardown() {
    driver.quit();
}

我的想法是,我可以使用classname和test方法将驱动程序存储在并发映射集合中,作为存储和检索驱动程序的键,但我想找到一种更简单,更简洁的方法来实现这一点。 / p>

如果有答案已经解决了这个问题我很抱歉。我搜索得很高,找不到我正在寻找的解决方案,或者无法将具体想法如何应用于我的问题。我的案例是针对Selenium Webdriver的,但我想还有其他一些案例可能需要这样做。

1 个答案:

答案 0 :(得分:1)

如何使用ThreadLocal<Driver>