2016-09-19 44 views
1

我剛剛更新到3.0.0硒-β3,我試圖在Firefox 45,以執行測試啓動Firefox ThreadLocal的驅動硒3 - Java的

我已經下載了geckodriver.exe的第10節,並補充說到我的PATH環境變量。我也設置在了geckodriver代碼的系統屬性像我這樣做,當我使用Chrome的驅動程序,這工作完全正常,但是,我還是結了以下TestNG的消息:

org.openqa。 selenium.WebDriverException:驅動程序 可執行文件的路徑必須由webdriver.gecko.driver系統屬性設置; 欲瞭解更多信息,請參閱https://github.com/mozilla/geckodriver。該 最新版本可從 https://github.com/mozilla/geckodriver/releases命令持續時間或 超時下載:411毫秒生成信息:版本:「2.52.0」,修訂: 「4c2593cfc3689a7fcd7be52549167e5ccc93ad28」,時間:「2016年2月11日11時22分43秒 '系統信息:host:'VMP-2316',ip:'10.80.50.100',操作系統名稱: 'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version: '1.8.0_92' 驅動程序信息:org.openqa.selenium.remote.RemoteWebDriver

這裏是我使用的設置驅動代碼:

// Set Driver 
threadDriver = new ThreadLocal<RemoteWebDriver>(); 
DesiredCapabilities dc = new DesiredCapabilities(); 

System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe"); 

dc.setBrowserName(DesiredCapabilities.firefox().getBrowserName()); 
dc.setCapability("marionette", true); 

threadDriver.set(new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), dc)); 

回答

3

另一種方法是定義在命令行驅動器的路徑啓動服務器/節點:

java -Dwebdriver.gecko.driver=path/to/geckodriver.exe -jar selenium-server-standalone-3.0.0-beta3.jar 
0

我猜你是針對電網運行測試。 對網格運行測試時,涉及三臺機器。

  1. Machine_A - 這是測試用例將執行
  2. Machine_B剝離出來 - 這就是電網樞紐將運行。
  3. Machine_C - 這是網格節點將運行的地方,以及瀏覽器將要打開的機器。

在你的情況,你需要確保Machine_C有兩種

  1. 在PATH變量中(或)提供的geckodriver二進制
  2. 的geckodriver二進制路徑是通過JVM通知硒節點參數-Dwebdriver.gecko.driver(如弗洛朗提到)

聲明System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");將其對Machine_A而不是Machine_C(它真正應該是行爲的影響)。

希望有幫助!