Linux配置Selenium+Chrome+Python實現自動化測試
阿新 • • 發佈:2019-01-01
以下流程在Ubuntu(16.04)LTS測試通過
1.安裝chrome
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
如果上面執行
sudo dpkg -i google-chrome*.deb
命令之後報錯,使用如下命令修復一下:
sudo apt-get install -f
,之後再次執行sudo dpkg -i google-chrome*.deb
安裝後確認/usr/bin目錄下是否有google-chrome檔案
2.安裝python、安裝Selenium、安裝requests(可選)
sudo apt-get install python-pip
sudo pip install selenium
#requests模組,可選安裝
sudo pip install requests
3.安裝chromedriver
在這個頁面裡列出了chromedriver的各個版本,我們選擇目前最新的版本(2.29),使用命令列安裝:
wget -N http://chromedriver.storage.googleapis.com/2.29 /chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
安裝後確認/usr/bin目錄下是否有chromedriver檔案
由於時效性,在安裝時應當先去網站檢視最新版本,然後替換命令列中的
2.29
版本資訊
4.簡單示例
這時候就可以在圖形介面的終端執行python自動化測試指令碼了。
示例指令碼,開啟網址並截圖:
#coding:utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://zhaoyabei.github.io/")
driver.save_screenshot(driver.title+".png")
可以看到chrome啟動並載入了網址,桌面生成了截圖。
5.字元介面執行
如果想要在字元介面使用Chrome進行測試,需要使用工具Xvfb.
X Virtual Framebuffer(Xvfb)虛擬幀緩衝器,簡單來說它可以直接處理 Window的圖形化功能,並且不會輸出到螢幕上,這就擺脫了對可視視窗的依賴
sudo apt-get -y install xvfb gtk2-engines-pixbuf
sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
# 截圖功能,可選
sudo apt-get -y install imagemagick x11-apps
Xvfb -ac :99 -screen 0 1280x1024x16 & export DISPLAY=:99
執行測試指令碼,輸出網頁標題:
#coding:utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://github.com/")
print driver.title
可以看到輸出了網頁的標題
Tips
以上步驟有可能因網路原因失敗,出現問題時要淡定