2017-06-15 9 views
0

私はTestNGを使って基本的なテストをしています。 invocationcount = 2、threadpoolsize = 2(テスト用)を使用してテストを実行すると、テストは現在実行中ですが、ブラウザは1つだけ開いていることが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

あなただけの1つのブラウザウィンドウを開いているので...テストメソッドの内部でドライバの初期化を移動し、 – Grasshopper

答えて

0

ここでは、1つのwebdriverインスタンスと2つのスレッドを呼び出します。以下のように、スレッドローカル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

をチェックありがとうございます!その2つのブラウザを同時に起動します。唯一今は、起動後にエラーが発生する理由をトラブルシューティングすることです。 – ParkHyeon

関連する問題