我正在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的,但我想还有其他一些案例可能需要这样做。
答案 0 :(得分:1)
如何使用ThreadLocal<Driver>
?