【问题标题】:Sharing driver between @BeforeMethod and @AfterMethod in TestNG在 TestNG 中的 @BeforeMethod 和 @AfterMethod 之间共享驱动程序
【发布时间】:2012-07-25 02:03:38
【问题描述】:

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

【问题讨论】:

    标签: java webdriver selenium-webdriver testng


    【解决方案1】:

    使用ThreadLocal<Driver> 怎么样?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多