1. 程式人生 > >Linux配置Selenium+Chrome+Python實現自動化測試

Linux配置Selenium+Chrome+Python實現自動化測試

以下流程在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

以上步驟有可能因網路原因失敗,出現問題時要淡定