Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。

Mac OS 10.13.2中自带的Python版本是2.7,可以使用Anaconda使用管理环境,并可以方便的切换到Python3。

安装Selenium

1
pip install selenium

安装浏览器驱动

Selenium3.0后,Firefox浏览器同其他浏览器一样都已经独立出来,必须要使用下载和配置浏览器驱动,而且浏览器和驱动的版本必须匹配,否则会出现各种诡异的错误。

归功于某些不可抗拒因素,下载谷歌相关联的包不是那么方便,需要的驱动可以在淘宝镜像上下载。

下载到ChromeDriver后,并将驱动的所在路径加入环境变量中。

简单测试

编写一个简单的测试脚本,进入www.taobao.com

1
2
3
4
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://cart.taobao.com")

执行脚本后会打开一个新增chrome浏览器,并进入淘宝首页。

问题备注

1. ChromeDriver和Chrome的版本对应关系:

ChromeDriver版本 Chrome版本
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48

附:ChromeDriver可以在下面的链接下载到:

1
2
3
http://chromedriver.storage.googleapis.com/index.html
// OR
https://npm.taobao.org/mirrors/chromedriver/

2. 在mac上使用webdriver调用chrome浏览器发生错误:

1
2
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver

修改办法,将 127.0.0.1 localhost添加到/etc/hosts配置文件中, 在终端中输入

1
	sudo killall -HUP mDNSResponder

使hosts文件的更改生效。

注:解决办法来自github.com/SeleniumHQ