1

我正在 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();
}

我的想法是,我可以将驱动程序存储在并发映射集合中,使用类名和测试方法作为存储和检索驱动程序的键,但我想找到一种更简单、更简洁的方法来执行此操作。

如果已经有解决此问题的答案,我深表歉意。我到处搜索,找不到我正在寻找的解决方案,或者无法将特定想法如何应用于我的问题。我的案例特定于 Selenium Webdriver,但我想还有其他案例可能想要做这样的事情。

4

1 回答 1

1

使用一个怎么样ThreadLocal<Driver>

于 2012-07-24T18:03:38.753 回答