close

搞這個東西,真的搞得快瘋掉了。之前好不容易,以 java+firefox+linux ubuntu+ Xvfb跑了很久的測試,因為遇到firefox未解的bug,忍痛要換到 chrome。環境要重bulid....真的很痛。

一開始,先以win的環境去測試,還滿ok的。但要移到linux上,就很不ok了。後來發現,兩者的設定根本天差地遠(也許是我理解錯誤,但anyway...我這版可以跑了)

win 環境:

os是win8,chrome是43.0.2357.132 。

需要下載chromedriver,目前最新2.16(下載: https://sites.google.com/a/chromium.org/chromedriver/downloads)

他只有win32版的可以用,測出來是可以跑得。需要把chromedriver搬到Chrome瀏覽器的資料夾中(C:\\Program Files (x86)\\Google\\Chrome\\Application)

code:

String chromedriver_path = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe";


System.setProperty("webdriver.chrome.driver", chromedriver_path );


WebDriver Driver=new ChromeDriver();

這樣可以呼叫出chrome瀏覽器,然後跑測試(有xwindow)。

 

Linux環境: (需要先啟用Xvfb,並指定輸出為 export DISPLAY=:99)

Linux version 3.13.0-44-generic , Ubuntu 4.8.2-19ubuntu1

然後下載安裝最新版的chrome,安裝完會出現 google-chrome(ChromeDriver 2.11.298611)

一樣需要下載chromedriver,我載了linux版的32位元版本。

過程中一直不順利,我又安裝了chrome的瀏覽器(不確定到底要不要安裝)

sudo aptitude install chromium-browser

 然後過程中,我一直出現chrome not reachable,我chromedriver的位置,是放在 /usr/bin/裡面。結果跑出來,像是啟動了兩個driver的感覺。網路上也查不出好的做法。

後來我把chromedriver搬到其他位置,結果work了.....

String chromedriver_path改成chromedriver的位置(不要放在/usr/bin/ 下)

p.s 抓下來的chromedriver,會是不可執行的檔案,這時候請下 chmod +x 

 

若其他高手有更好得做法,或是能解釋一下緣由,我會很感謝....

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 抹茶獅子 的頭像
    抹茶獅子

    抹茶控的Wonderland

    抹茶獅子 發表在 痞客邦 留言(0) 人氣()