1. 为什么是 Selenium

最初的自动化测试主要用于 Web 端,而 Selenium 是使用最为广泛的 Web 自动化测试框架之一

Selenium 可以完全模拟用户对主流浏览器进行操作,包含:Chrome、FireFox、Safari 等;目前 Selenum 稳定版本为:Selenium 3.x,使用 Python 可以非常方便地编写脚本,实现对浏览器的操作

Selenium 包含:Selenium WebDriver、Selenium IDE、Selenium Grid

其中,Selenium WebDriver 可以使用各种语言,包含 Python 驱动浏览器进行自动化操作

Selenium IDE 是一款浏览器插件,可以通过脚本录制完成简单的自动化功能,支持 Chrome 和 Firefox 浏览器

Selenium Grid 用于管理对接大量的 Web 浏览器及移动端,包含 Android、iOS 的自动化测试操作,提升测试的效率,一般用于对接 Appium 完成多设备管理平台

2. 环境准备

首先要搭建 Python3 环境,具体可以参考下面这个链接:

​https://www.runoob.com/python/python-install.html​

接着使用 Python3 自带的 pip3 命令安装 Selenium

# 安装最新版本的 selenium
pip3 install -U selenium

接着,查看 Chrome 浏览器的版本号,下载 ChromeDriver 对应的版本

​https://npm.taobao.org/mirrors/chromedriver/​

Selenium 系列篇(一):准备篇_搜索

需要注意的是,为了保证 Selenium 能够正常驱动 Chrome 浏览器,需确保 Chrome 版本和 ChromeDriver 版本一致

最后,将 ChromeDriver 配置到环境变量中去,如果是 Win 系统,Path 变量中加入 ChromeDriver 的完整路径;如果是 Mac OSX,将 ChromeDriver 放在 /usr/local/bin 目录下即可

3. 试一试

以 Python + Selenium 来实现一个简单功能

首先,需要导入 selenium 的依赖包,并初始化 Chrome 驱动类

# 导入依赖
from selenium import webdriver

# 实例化驱动
driver = webdriver.Chrome()

接着,我们调用 API 中的 get() 方法打开一个网站

# 打开网站
driver.get('http://www.baidu.com')

打开网站之后,我们按 F12 打开开发者调试工具,定位到搜入框、搜索按钮两个元素的 id,分别为:kw、su

Selenium 系列篇(一):准备篇_chrome_02

Selenium 可以先通过 id 、class、xpath 等属性查找到元素控件,然后对控件元素进行点击、滑动、输入等一系列操作

我们拿到输入框元素,模拟输入内容,然后模拟点击搜索按钮,执行一次搜索操作

Selenium 系列篇(一):准备篇_selenium_03

最后,我们利用 quit() 方法关闭浏览器,完成本次自动化操作

# 输入框元素
input_element = driver.find_element_by_id('kw')

# 模拟输入内容
input_element.send_keys('Python')

# 搜索按钮元素
search_btn_element = driver.find_element_by_id('su')

# 执行点击操作
search_btn_element.click()

上面的操作只是 Selenium 最简单的自动化操作,更多的内容,下一篇文章再说。