共计 2891 个字符,预计需要花费 8 分钟才能阅读完成。
selenium 家族介绍
Selenium IDE:Selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。
Selenium RC:Selenium RC 是 Selenium 家族的核心工具,支持多种不同的语言编写自动化测试脚本,通过 Selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。Selenium RC 分 Client Libraries 和 SeleniumServer,Client Libraries 库主要主要用于编写测试脚本,用来控制 Selenium Server。Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的,其实就是一堆 JS 函数的集合,通过这些 JS 函数实现用程序对浏览器进行操作,Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的 Http Proxy。
Selenium Grid:Selenium Grid 是一种自动化的测试辅助工具,利用 Grid 可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特点为:并行执行;通过一个主机统一控制用例在不同环境、不同浏览器下运行;灵活添加变动测试机。
Selenium 1.0 自动化测试工作方式:通过 Selenium IDE 将录制的脚本导出为“Python2/unittest/Remote Control”等语言格式,然后通过 Selenium Server 运行 Selenium RC 来控制浏览器行为。Selenium Server 可运行于不同版本的平台和浏览器上,以实现异构环境中自动化运行测试,脚本的并行运行依赖于脚本自身的多线程多进程技术。
Selenium 2.0:
Selenium 2.0 = Selenium 1.0 + WebDriver 在 Selenium 2.0 中主推的是 WebDriver,WebDriver 是 Selenium RC 的替代品,因为 Selenium 为了向下兼容性,所以 Selenium RC 并没有彻底抛弃。
Selenium RC 与 WebDriver:
- Selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行 selenese 命令(selenese 是 Selenium 命令集合);需要 selenium server 才能运行测试用例,只能支持 web 应用的测试。
- WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了 JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入;既能测试 PC web 应用也能测试移动 web 应用。
selenium 环境安装
安装 selenium 模块:
前提:已安装 python 及 pip 模块
如果是电脑处于联网状态的话,可以直接在 C:\Python27\Scripts 下输入命令安装:C:\Python27\Scripts > pip install -U selenium
如果没联网,可以通过下载安装:
- selenium 下载地址:https://pypi.python.org/pypi/selenium
- 下载 selenium 并解压把整个目录放到 C:\Python27\Lib\site-packages 目录下即可
查看 selenium 模块版本:
安装 Selenium IDE:
启动 Firefox,然后导航到 http://seleniumhq.org/download/。在 Selenium IDE 部分,单击显示如下所示当前版本号的链接,firefox 自动弹出安装步骤依次完成安装。
或直接下载 selenium IDE 插件 selenium-ide-2.8.0.xpi 然后使用 firefox 浏览器打开启动安装。
安装完成后可在 firefox 的工具栏中打开:
注意事项:selenium IDE 与 firefox 的版本兼容性,目前以下版本可适配:
- firefox 37.0.2
- selenium 2.8.0
安装 chrome 浏览器驱动 chromedriver:
1、下载驱动程序 chromedriver.exe
2、置于已配置 path 路径的目录下,如 C:\driver
环境变量:DRIVER_HOME = C:\driver
Path = %Path%;%DRIVER_HOME%
WebDriver 所支持的驱动:
安装 selenium server:
下载地址:http://www.java2s.com/Code/Jar/s/Downloadseleniumserverstandalone270patchedsourcesjar.htm
selenium 自动化测试脚本执行
1)直接在 eclipse+pydev IDE 工具上执行:
2)命令行执行:
命令行执行带单元测试框架的自动化脚本:python -m unittest test_baidu_search
命令行执行自动化脚本:python run_testcase.py
3)Selenium Grid 脚本分布式执行:
原理:
不同平台及浏览器的参数:
需要首先启动 selenium server,可以在单台机器上启动一个或多个节点,也可以在多台机器上启动多个节点,然后按上面的方法执行 selenium grid 脚本。
启动主节点:
java -jar selenium-server-standalone-2.39.0.jar -role hub
启动分支节点:
java -jar selenium-server-standalone-2.39.0.jar -role node -port 5555
java -jar selenium-server-standalone-2.39.0.jar -role node -port 5556
java -jar selenium-server-standalone-2.39.0.jar -role node -port 5556
远程主机上启动分支节点:
java -jar selenium-server-standalone-2.39.0ar -role node -port 5555 -hub http://172.16.10.66:4444/grid/register
要在其它主机启动 node 必须满足以下几个要求:
1、本地 hub 主机与远程 node 主机之间可以相互 ping 通
2、远程主机必须安装运行脚本的运行环境(Python、Selenium、浏览器及浏览器驱动)
3、远程主机必须安装 java 环境,因为需要运行 Selenium Server。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139823.htm
正文完
星哥玩云-微信公众号