接触 selenium 是通过同事介绍的一本来自虫师的书 《Selenium 2自动化测试实战》。
虫师的这本书是按照 selenium 2 来讲的,但是我在实践的时候,主流的浏览器驱动已经需要 selenium 3.5 以上。不过书中的测试方法以及 API 多少还是和新版本一致的。
selenium 是什么
引用 selenium 官网的描述
Selenium automates browsers. That's it!
Selenium 自动化了浏览器,就酱!
非常简洁的一句话概括了这个工具的作用,即浏览器操作的自动化。
第一印象
偷个懒,大家可以移步百度,搜索 "selenium gif",通过 gif 动图看一下 selenium 大概是怎么一回事情
如何工作
selenium 支持 WebDriver Specification,因此可以通过使用同样标准的各个浏览器 (Firefox / Chrome / Opera etc.) 的驱动,启动浏览器新的 session (其他支持 WebDriver Specification 的工具也能做到这一点),通过脚本设置访问测试页面地址,并获取和操作页面中的元素。
环境搭建
selenium 支持你用 Python,Java,C# 等等写测试脚本,非常便利,你不必为了写测试方案而切换变成语言。
当然,无论你选择使用哪种语言编写测试,第一步是先要获取到测试系统、目标设备(主要指浏览器)的驱动。
例如,firefox 浏览器的插件可以在这里获取到 https://github.com/mozilla/geckodriver/releases。之后,将可执行文件放到相应位置(究竟应该放到什么位置?先留一个坑)。
第二步是安装 selenium。这个只要下载到 Pypi 包进行安装即可。
开始体验
我推荐首先按照交互式方式来体验,这样不仅能够准确找到可能出现的环境搭建错误,也能更好的去体会每一步骤中 selenium 在做些什么。
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://www.baidu.com')
pass