2013-07-29 76 views
6

我有一個硒webdriver測試,轉換爲maven項目,我想通過詹金斯上的xvfb運行。如何更改Webdriver Firefox連接到本地主機的端口?

顯示選擇存在問題,但我想嘗試其他方法並更改端口,例如。

這是錯誤我得到:

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

Firefox console output:

Error: no display specified

Error: no display specified

這是我的代碼:

File ffExe = new File("/usr/bin/firefox"); 
FirefoxBinary ffox = new FirefoxBinary(ffExe); 
ffox.setEnvironmentProperty("DISPLAY", ":21"); 
WebDriver driver = new FirefoxDriver(ffox, null); 

所以,我怎麼能告訴火狐使用其他端口和一個我應該指定?

回答

2

有一個系統屬性-webdriver.firefox.port這可能是yoru查詢的答案。它在維基上列出 - http://code.google.com/p/selenium/wiki/FirefoxDriver,但沒有提供相同的文檔。您可以嘗試讓我們知道它是否有效:)

+0

你能告訴我一個如何在代碼中使用「webdriver.firefox.port」的例子嗎?在你鏈接到的頁面中,一旦他們談論了setProperty,然後他們談論setPreference和Im變得困惑 –

+0

System.setProperty(「propertyname」,「propertyvalue」) – Akbar

+0

謝謝!將嘗試它 –

2

問題不在於它無法連接到該端口,而是錯誤的第二部分,即在Jenkins中沒有指定顯示。這就是爲什麼設置Firefox的顯示器可能不起作用。

通過在終端中輸入env並記下分配給DISPLAY變量的數字,找出您的顯示設置。例如DISPLAY:1.0

接下來你需要在Hudson/Jenkins中設置顯示變量。導航至Jenkins登錄頁面,然後單擊管理詹金斯>管理節點>主站>配置。選中環境變量複選框,然後在名稱框中設置DISPLAY,並將值設置爲我們的示例:1.0

此外,您可能需要在終端中使用xhost +來禁用您的xhost訪問控制。

+0

謝謝,我已經嘗試了所有關於此Display的Google閱讀材料,到目前爲止沒有任何工作,在您的文章中有一些新的東西,我今天將在工作中嘗試它們。你能看看我的其他相關話題嗎? http://stackoverflow.com/questions/17925498/shifted-webdriver-test-from-firefox-to-chrome-jenkins-still-thinks-its-firefox –

相關問題