2017-08-15 8 views
1

私はセレニウムグリッドとセレン3.4.0バージョンを使用しています。私はtearDown()関数(ブラウザではなく関数でエラー)のエラーを取得しています。@After、before、suite、classなどのアノテーションをtearDown()関数で試しましたが、動作しませんでした。私の間違いと解決方法を教えてください。Quit()がセレニウムグリッド3.4.0(ThreadLocal)で動作しません

基本クラス:

public class TestBase { 

//public ThreadLocal<RemoteWebDriver> driver; 
public ThreadLocal<RemoteWebDriver> driver = new ThreadLocal<RemoteWebDriver>(); 

//Do the test setup 
@BeforeMethod 
@Parameters(value="browser") 
public void setupTest (String browser) throws MalformedURLException { 
    //Assign driver to a ThreadLocal 
    //driver = new ThreadLocal<>(); 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    if (browser.equals("chrome")) { 
     capabilities.setCapability("browserName", browser); 
     driver.set(new RemoteWebDriver(new URL("http://123.123.0.50:4444/wd/hub"), capabilities)); 

    } else if(browser.equals("internet explorer")){ 
     capabilities.setCapability("browserName", browser); 
     driver.set(new RemoteWebDriver(new URL("http://123.123.0.50:4444/wd/hub"), capabilities)); 
     capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); 
    } 
    else if(browser.equals("firefox")){ 
     capabilities.setCapability("browserName", browser); 
     driver.set(new RemoteWebDriver(new URL("http://123.123.0.50:4444/wd/hub"), capabilities)); 
    } 
} 

public WebDriver getDriver() { 
    return driver.get(); 
} 

@AfterMethod 
public void tearDown() throws Exception { 
    //getDriver().close(); 
    getDriver().quit(); 
} 
} 

ファーストクラス:

public class FirstTest extends TestBase { 

@Test 
public void firstTest() throws Exception { 
    System.out.println("First Test Started!"); 
    getDriver().navigate().to("http://www.facebook.com"); 
    System.out.println("First Test's Page title is: " + getDriver().getTitle()); 
    System.out.println("First Test Ended!"); 
} 

@Test 
public void firstTests() throws Exception { 
    System.out.println("First of Second Test Started!"); 
    getDriver().navigate().to("http://www.facebook.com"); 
    System.out.println("First Test's Page title is: " + getDriver().getTitle()); 
    System.out.println("First of Second Test Ended!"); 
} 
} 

TestNG.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite" parallel="tests" thread-count="2"> 

<test name="FFTest"> 
<parameter name="browser" value="firefox" /> 
<classes> 
<class name="parallelGrid.SecondTest" /> 
</classes> 
</test> 
</suite> 

エラーメッセージ:

org.openqa.selenium.WebDriverException: quit 
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
+0

OPの問題の背後にある正確な理由は何ですか知らないあなたの完全なスタックトレース –

答えて

1

私はあなたが使用してノードのURLを知りません。このリンクとセットアップのハブを試してみて、次にコードを試してみてください。うまくいけば、ノードのURLに問題があります。

Link for your solution

+0

を共有してください、私はどのように '' codoid's' visgrid'それを解決するために起こっているのと理解したいと思いますか? 'visgrid'はあなたのハブとノードを管理するのに役立つグリッド環境管理ツールのようです。 –

+0

@Sachinそれは私のために働いた。 – Selenium

関連する問題