2011-04-25 107 views
6

我試圖做一些使用紅寶石腳本的無頭測試。基本上我正在執行Xvfb顯示:1,然後使用watir-webdriver啓動Watir::Browser.new(:firefox)作爲非root用戶運行Selenium :: WebDriver :: Firefox內Xvfb從紅寶石作爲非root用戶

如果以root用戶身份運行該腳本,此工作將非常好 - 我可以運行x11vnc並觀察腳本執行瀏覽器並與之交互。

問題是,我需要能夠從Rails應用程序中調用這個ruby腳本,而不是以root身份運行它......如果我嘗試以普通用戶身份從命令行運行腳本,Xvfb會觸發up:1像往常一樣,但Watir不會啓動瀏覽器......它在60秒後最終超時。通過VNC連接顯示帶有鼠標光標的黑屏。

我可以從命令行執行所有操作 - 啓動Xvfb,然後啓動firefox --display=:1並啓動瀏覽器,所以它必須是Selenium問題,對吧?

果殼:Selenium/Webdriver拒絕在Xvfb內啓動瀏覽器,除非我以root身份運行腳本。

+0

+ +1在你正確的時候添加你的解決方案 – 2011-10-16 14:40:06

+0

@ user724205你的答案應該被添加爲答案,而不是複製到問題中。 – 2012-07-16 18:21:54

回答

3
  • 解決 - 編輯* - 抱歉,我不能回答這個問題,但顯然我的帳戶是最近做的,只是還沒有。

解決!驚人的像這樣的事情怎麼傾向於自己解決後你問的問題...

對於那些想知道爲什麼,還有我需要做一些事情......

1)確保有問題的用戶有一個工作主目錄(萬維網數據並未默認...其主目錄由根擁有)

2)從命令行啓動Xvfb,然後從命令行啓動firefox(NOT從腳本內部) - 這將填充用戶主文件夾與通常的.dbus,.gconf等文件夾

3)如果你得到一個巨大的延遲和th沿着「加載或保存firefox-bin配置信息時出現錯誤」的錯誤消息,刪除用戶主目錄中的.dbus文件夾

4)再次嘗試#2 - 如果您有配置錯誤之前,它現在應該消失了。

5)嘗試再次運行腳本。

這對我來說就像一個魅力,所以如果你有類似的問題運行Xvfb和watir-webdriver從一個web應用程序,試試看。

感謝所有人爲推動什麼事情做出貢獻BEST Q &網絡上的一個網站......這個地方比我不在乎的地方節省了我的屁股次數。

注意:用戶最初輸入了這個修改爲他們的問題,因爲他們無法弄清楚如何發佈它作爲答案。這是後來由一些善意的人編輯出來的,但從未作爲答案添加。

1

嗨,不知道這個link可以幫你。這幫了我很多。我需要在啓動/重啓時自動運行watir-webdriver - 它對我很有用(閱讀評論)。

相關問題