>我有一个使用TestNG的基本测试。当我使用 invocationcount = 2,threadpoolsize = 2(仅用于测试(运行测试时,我可以在 intellij 中看到测试当前正在运行,但只有一个浏览器打开。
这是我的代码:
public class GoogleTesting extends FluentTestNg {
// Defines the Driver
public WebDriver driver = new ChromeDriver();
@Override
public WebDriver newWebDriver() {
return driver;
}
@Test(invocationCount = 2, threadPoolSize = 2)
public void GoogleTest(){
goTo("http://google.com");
System.out.println(getCookies());
}
}
有人知道如何解决这个问题吗?
这里有一个 Web 驱动程序实例,并在两个线程中调用。您可以尝试使用线程本地WebDriver,如下所示。
public class GoogleTesting extends FluentTestNg {
// Defines the Driver
private static ThreadLocal<WebDriver> WebDriverTL = new ThreadLocal<WebDriver>();
public void setWebdriver(Webdriver driver){
WebDriverTL.set(driver);
}
@Override
public WebDriver newWebDriver() {
return WebDriverTL.get ();
}
@beforeMethod
public void launch browser(){
WebDriver driver = new ChromeDriver();
setWebdriver(driver);
}
@Test(invocationCount = 2, threadPoolSize = 2)
public void GoogleTest(){
goTo("http://google.com");
System.out.println(getCookies());
}
}