ubuntu 16.04 (桌面與服務器版)配置Selenium+Chrome+Python3實現自動化測試
- 2019 年 11 月 23 日
- 筆記
ubuntu 16.04 (桌面與服務器版)配置Selenium+Chrome+Python3實現自動化測試
1.安裝chrome
Python
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
123 |
sudo apt-get install libxss1 libappindicator1 libindicator7wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome*.deb |
---|
如果上面運行 sudo dpkg -i google-chrome*.deb
命令之後報錯
Python
Errors were encountered while processing:
1 |
Errors were encountered while processing: |
---|
使用如下命令修復一下:
Python
sudo apt-get install -f
1 |
sudo apt-get install -f |
---|
之後再次運行下面命令就可以了
Python
sudo dpkg -i google-chrome*.deb
1 |
sudo dpkg -i google-chrome*.deb |
---|
2.安裝python、安裝Selenium
Python
sudo apt-get install python3-pip sudo pip install selenium
12 |
sudo apt-get install python3-pipsudo pip install selenium |
---|
3.安裝chromedriver
安裝最新版本的chromedriver,下載頁面: http://chromedriver.storage.googleapis.com/index.html
在這個頁面里列出了chromedriver的各個版本,我選擇版本(2.29),使用命令行安裝:
Python
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
123456 |
wget -N http://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zipunzip chromedriver_linux64.zipchmod +x chromedriversudo mv -f chromedriver /usr/local/share/chromedriversudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriversudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver |
---|
安裝後確認/usr/bin目錄下是否有chromedriver文件
由於時效性,在安裝時應當先去網站查看最新版本,然後替換命令行中的2.29
版本信息
4.簡單示例
這時候就可以在圖形界面的終端運行python自動化測試腳本了。 示例腳本,打開網址並截圖:
Python
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com/") driver.save_screenshot(driver.title+".png")
12345 |
from selenium import webdriver driver = webdriver.Chrome()driver.get("https://www.baidu.com/")driver.save_screenshot(driver.title+".png") |
---|
5.服務器無可視化界面環境運行
如果想要在服務器無可視化界面使用Chrome進行測試,需要使用工具Xvfb.
Python
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
12345 |
sudo apt-get -y install xvfb gtk2-engines-pixbufsudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable# 截圖功能,可選sudo apt-get -y install imagemagick x11-appsXvfb -ac :99 -screen 0 1280x1024x16 & export DISPLAY=:99 |
---|
這可以是手動在命令行敲完運行,也可以使用python包完成
手動版直接在上面Xvfb裝完啟動後執行下面腳本:
Python
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://github.com/") print driver.title
12345 |
from selenium import webdriver driver = webdriver.Chrome()driver.get("https://github.com/")print driver.title |
---|
自動版:
Python
from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() driver = webdriver.Chrome() driver.set_window_size(800,600) #設置瀏覽器窗口的大小 url = "https://www.baidu.com" driver.get(url)
12345678 |
from pyvirtualdisplay import Displayfrom selenium import webdriverdisplay = Display(visible=0, size=(800, 600))display.start()driver = webdriver.Chrome()driver.set_window_size(800,600) #設置瀏覽器窗口的大小url = "https://www.baidu.com"driver.get(url) |
---|
原創文章,轉載請註明: 轉載自URl-team
本文鏈接地址: ubuntu 16.04 (桌面與服務器版)配置Selenium+Chrome+Python3實現自動化測試