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實現自動化測試