簡體   English   中英

Java中的Selenium Firefox Webdriver(運行參數)

[英]Selenium Firefox Webdriver in Java (run parameters)

我在Java中使用Selenium 2開發了一個使用Firefox引擎的測試單元。

部署機器沒有顯示,所以我使用Xvfb來創建它。 不幸的是,迫使我使用DISPLAY=:0 java -jar xxx.jar啟動java。 我搜索了selenium javadoc並搜索了一些來源,但找不到java用來啟動Firefox的方法,女巫是我的目標,使用相同的方法使用java啟動firefox DISPLAY=:0 firefox ...

簡短說明:我必須做DISPLAY=:0 java -jar xxx.jar但是我想讓java做DISPLAY=:XX firefox ...而不是firefox ...所以我也可以使用多個顯示器。

有什么建議?

我們實際上正在使用Xvfb和Selenium生產十幾個不斷運行的Firefox實例。 我們使用xvfb-run java -jar xxx.jar選擇一個空閑顯示來運行該程序的所有firefox實例。 如果您關注截圖,則只能使用一個顯示器,並且仍有十幾個Firefox同時為不同的網站截取屏幕截圖

我們將它包裝在shell腳本下,這是透明的。

如果您確實希望每個selenium服務器都具有其顯示,則可以在配置中指定的瀏覽器字符串中覆蓋它。 只需創建一個執行xvfb-run /usr/bin/firefox的shell腳本,並將此腳本傳遞給您的配置。 這應該夠了吧

有一個很好的測試

我們制作了一個bash文件來設置顯示然后啟動firefox。 我們把它放在firefox名下的路徑中,所以selenium發現它使用which來定位firefox二進制文件。

編寫一個'代理'程序,用所需的參數執行shell; 然后在您的代理程序中指向“webdriver.firefox.bin”屬性。 我不認為這可以是一個java程序,因為它是通過java命令執行的。 它可能必須是本機代碼,可能是C和類似“system(”DISPLAY =:XX firefox ...“);”

您應該查看本手冊,我前一段時間使用過這樣做:

http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

TLDR;

$ export DISPLAY=:0
$ firefox

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM