2017-06-15 73 views
0

我有一个使用TestNG的基本测试。当我使用invocationcount = 2,threadpoolsize = 2(仅用于测试)运行测试时,我可以在intellij中看到测试正在运行,但只有一个浏览器打开。Java - Fluentlenium如何使用1种方法的线程运行TestNG

继承人我的代码:

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

任何人都知道如何解决这一问题?

+1

因为您只打开一个浏览器窗口...将驱动程序初始化移入测试方法并检查 – Grasshopper

回答

0

在这里你有一个webdriver实例,并在两个线程中调用。您可以尝试使用下面给出的线程本地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()); 
} 
} 
+0

谢谢!它现在同时启动两个浏览器。现在唯一的解决方法是在启动后为何出现错误。 – ParkHyeon

相关问题