最近研究Selenium + Python,总结一些小tip发出来,以此自勉。
1. 概述
1.1 Selenium
1.1.1 Selenium(1.x)
通常指selenium Remote Control。
1.1.2 Selenium WebDriver
Selenium2 = Selenium 1 + WebDriver。是针对 Web 应用的测试框架,支持多种浏览器和多种编程语言,不支持并行。Selenium 2.0 通常指webdriver,它的好处是可以模拟部分用户输入,比如鼠标操作,键入文字。WebDriver属于Selenium体系中操作浏览器的一套API,从Python角度说,WebDriver是Python的一个用于实现Web自动化的第三方库。
1.1.3 Selenium IDE
可以录制和编辑操作,可满足小型且相对简单的自动化测试工作,它可以帮助我们编写自动化测试脚本。
1.1.4 Selenium Standalone Server
支持remote WebDriver,包含Selenium Grid,需要JRE环境。Selenium Grid 允许用户将测试案例分布在几台机器上并行执行。用户可以在一个集中控制点控制不同的环境。在不同的浏览器 / 系统组合上面更为容易的运行测试案例。允许用户更多的利用虚拟资源减少了维护测试环境的成本。Selenium Grid2 很好的支持了 WebDriver。利用原有的 WebDriver 脚本和 Grid 技术就可以将不同的测试用例分布在不同的机器或虚机上,在特定的浏览器版本上运行,自动地启动关闭分析工具,统一地保存测试结果。
2. Selenium + Python测试环境搭建
2.1 安装FireFox
- Selenium 3.0 + FireFox启动报错
FF 47以上版本,需要下载第三方driver,即geckodriver:
https://github.com/mozilla/geckodriver/releases
- 下载解压后将getckodriver.exe复制到Firefox的安装目录下,如C:\Program Files\Mozilla Firefox,并在环境变量Path中添加路径:
C:\Program Files\Mozilla Firefox;
- 重启cmd或IDLE再次运行代码即可
2.2 安装Python
2.3 安装setuptools 与pip
https://pypi.Python.org/pypi/setuptools
https://pypi.Python.org/pypi/pip
- 使用ez_setup.py或下载安装setuptools:
ez_setup.py不需要用户下载,运行该命令即可。
下载setuptools-32.1.2.zip,解压。
<install package path> python setup.py install
- 可能需要配置环境变量:
修改我的电脑->属性->高级->环境变量->系统变量中的PATH 为:
变量名:PATH
变量值:;D:\Python35
- 最新的python集成了pip,在<Python Path\Script\>。若没有则下载pip-9.0.1.tar.gz
解压后进入cmd:
<install package path> python setup.py install
2.4 安装Selenium
https://pypi.python.org/pypi/selenium
- 联网状态直接在<D:\Python35\Scripts>下输入:
<D:\Python35\Scripts > pip install -U selenium - 如果没联网,下载最新版的selenium,并解压把整个目录放到<D:\Python35\Lib\site-packages>。
2.5 ActivePython(Not Necessary)
编程调试工具。
https://www.activestate.com/activePython/downloads
2.6 安装浏览器驱动
对浏览器的支持。支持FireFox(无需驱动),IE, Chrome,Opera等浏览器, 还支持Android和iPhone的移动应用测试。
https://www.seleniumhq.org/download(Third Party Drivers, Bindings, and Plugins)
下载后解压放置到D:\Python35下
安装完成后可以用:
webdriver.FireFox()
webdriver.Ie()
webdriver.Chrome()
3. Selenium IDE
3.1 安装
https://www.seleniumhq.org/download
或者打开FireFox浏览器,工具->Add-on,搜索“Selenium IDE”
FireFox 浏览器可在安装后用Ctrl+Alt+S打开
3.2 Firebug工具(Not Necessary)
FireFox->工具->附加组件,搜索该工具安装,用于在浏览器上定位元素。
4. Selenium Standalone Server
Selenium Grid可以再不同主机上建立主节点和分支节点(hub and node),即分布式运行。可搭建不同的测试环境(OS,browser),从而使一份测试用例得到不同环境下的执行结果。已经集成在Selenium Standalone Server中,运行WebDriver Remote 需要Selenium Standalone Server。
https://www.seleniumhq.org/download
4.1 配置Java环境安装Selenium Standalone Server
- 安装JRE/JDK
- 安装Selenium Standalone server
http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.0.jar
cmd:
java -jar selenium-server-standalone-2.53.0.jar