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


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,下載頁面:
http://chromedriver.storage.googleapis.com/index.html

在這個頁面里列出了chromedriver的各個版本,我們選擇目前最新的版本(70.0.3538.97),使用命令行安裝:

wget -N http://chromedriver.storage.googleapis.com/70.0.3538.97/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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM