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实现自动化测试