2012-05-16 65 views
1

我想這是一個我不知道啓動開關的正確組合但在這裏...除了交互模式(Ubuntu,PHP,Selenium和php-webdriver-bindings-0.9.0)外,Selenium獨立服務器不會啓動Firefox

我有一個Ubuntu桌面盒,我想通過Selenium運行測試。所以我安裝了最新的Selenium Standalone服務器(selenium-server-standalone-2.21.0.jar)。我可以啓動服務器的交互式會話,讓Firefox運行以下示例here,但針對我的Selenium版本和我的firefox路徑(它是/ usr/bin/firefox)進行了修改。

當我開始了在非交互模式是這樣的服務器:

java -jar /usr/lib/selenium/selenium-server-standalone-2.21.0.jar -port 4444 > /var/log/selenium/selenium-output.log 2> /var/log/selenium/selenium-error.log & echo $! > /tmp/selenium.pid 

然後我得到了所有正確的反饋說,服務器正在運行。但是,當我嘗試從php-webdriver-bindings-0.9.0(修改爲刪除對「Internet Explorer」的引用)運行example.php時,它會失敗,因爲Firefox從未啓動。絕對沒有什麼是從example.php返回到我的瀏覽器,但我可以看到服務器接受命令(儘管已將ini_set(「display_errors」,1)和error_reporting(E_ALL);添加到文件的頂部)。此外,錯誤和輸出日誌只顯示服務器啓動時的簡單狀態消息。

由於PHP只是將命令傳遞給服務器,因此無論是否處於交互模式,服務器都具有相同的用戶,因此應該沒有權限問題。

最終我想我要爲大規模操作設置一個網格,但現在我真的很想讓這臺服務器正常工作。

任何幫助,非常感謝。

回答

0

更新您的命令:

java -jar /usr/lib/selenium/selenium-server-standalone-2.21.0.jar -role hub 

然後,你需要啓動另一個實例爲webdriver的作用。喜歡的東西:

java -jar /usr/lib/selenium/selenium-server-standalone-2.21.0.jar -role webdriver -hub http://127.0.0.1:4444/grid/register -port 5555 -browser browserName=firefox,platform=LINUX,maxInstances=5 

現在,你應該能夠訪問http://127.0.0.1:4444/grid/console並查看可用的遠程代理。現在,當你運行你的測試時,它應該工作。

+0

我已經添加了這些線路的/etc/init.d/selenium文件和電網確實出現了工作。 http://127.0.0.1:4444/grid/console只顯示Grid Hub 2.21.0(標題)和查看配置(鏈接),但它沒有給我重啓機器之前的403錯誤。但是,當我運行localhost或192.168.1.70(其LAN IP)和端口4444或5555運行example.php他們都會返回一個101錯誤(「連接重置」)。日誌再次顯示沒有用處。 –

+0

Oooops找到了一個地方,我從那裏複製了腳本的人已經離開了4443進入該端口,並且腳本邏輯執行了他的java命令以及我的新命令。重新啓動機器。我現在得到一個關於支持5個firefox實例的網格的消息。儘管如此,仍然收到了101消息。 –

+0

當我轉到192.168.1.70:5555/wd/hub時,我看到了一個用於創建和刷新會話的小屏幕。當我嘗試創建一個Firefox會話時,我會等待很長時間纔會回來告訴我它無法創建新會話。我注意到這個錯誤顯示「AbstractConnector:Started [email protected]:4444」顯然該機器的IP不是0.0.0.0 - 這可能是問題嗎? –

1

在這個工作對我來說那一刻:http://dionysus.uraganov.net/software/how-to-install-selenium-server-with-firefox-on-ubuntu-11-10/

更新:

確定。上面的鏈接是我第一次嘗試建立一個ci環境。現在我有這個啓動命令,這工作正常!

CI服務器

Xvfb -fp /usr/share/fonts/X11/misc/ :22 -screen 0 1024x768x16 2>&1 & 
export DISPLAY=:22 
java -jar /usr/lib/selenium/selenium-server-standalone.jar -role hub -multiWindow -browserSessionReuse -timeout 30000 -forcedBrowserModeRestOfLine "*firefox /usr/lib/firefox-9.0.1/firefox" 2>&1 & 

任何工人

java -jar /usr/lib/selenium/selenium-server-standalone.jar -role webdriver -hub http://[server-ip]:4444/grid/register -port 5555 -browser browserName=firefox,platform=LINUX,maxInstances=5 

下一步
更多的瀏覽器,硒和xvfb的啓動腳本。硒有兩個資源:
https://github.com/feniix/selenium-grid-startup
http://www.danstraw.com/installing-selenium-server-2-as-a-service-on-ubuntu/2010/09/23/

+0

是的,我相信這就是我在原始問題中提到的例子。一,它沒有建立一箇中心。而且我不想每次都手動輸入命令,所以我已經將它放在/etc/init.d/selenium的腳本中。如上所述,在交互模式下,我可以啓動一個Firefox瀏覽器(當我改變路徑對我的機器來說是正確的)。但是這需要在啓動時自行啓動到Firefox的正確路徑(最終Chrome也是如此,但可以等待)。 –

相關問題