我正在 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,但我想还有其他案例可能想要做这样的事情。