一、Selenium的发展路线
-
Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC,其中selenium IDE 是浏览器中的一个插件,可以实现浏览器操作的录制与回放。Selenium Grid 可以实现在不同机器和环境中运行测试用例。而Selenium RCSelenium RC 支持多种不同语言的自动化测试脚本,通过Selenium RC的服务器作为代理服务器去访问应用,从而达到测试的目的。
-
selenium2.0 = Selenium1.0 + Webdriver 。由于Webdriver 直接让测试工具调用浏览器和操作系统的本身提供的内置方法,更好的模拟真实环境。而且绕过JavaScript的沙盒限制,所以将这2个项目进行了合并。将WebDriver作为RC的替代品,又为了为了保持向下的兼容性,依旧保留了RC。
-
selenium3.0 = Selenium2.0 - Selenium RC 。用Webdriver彻底替代了RC,并把Firefox浏览器独立出来,运用时需要下载Firefox浏览器和geckocdriver驱动,selenium3.0支持48版本以上。
图一
二、Selenium核心组件介绍
- Selenium IDE 是 FireFox 浏览器的一个插件,实现对浏览器操作的录制与回放功能,录制对脚本可以转化为多种脚本语言(Java、Python、Ruby)
- Selenium RC是 Selenium 的核心组成部分,它由两个组件构成:
1、Selenium Server:(负责控制浏览器行为)解释执行测试代码或者脚本,也是HTTP代理服务器的角色,用于侦测处理浏览器与服务器之间的HTTP请求通信
2、Client Library:(测试人员编写测试脚本控制 Selenium Server 的库)提供接口,用于编程语言连接 Selenium Server ,负责发送命令给 Selenium Server ,接受测试结果。
Selenium RC的实现原理如下:
图二 - Selenium Grid
Selenium Grid组件的主要作用是实现并发测试,它可以实现多台测试机器和多个浏览器并发测试。每一个测试环境上的机器称为Node节点。工作模式由一个Hub节点和若干个Node节点组成。Hub用来管理和收集Node节点的注册信息和状态信息,接受远程调用,并把请求分发给代理节点来执行。
三、扩展Webdriver
提供了更简单,更简洁的API,大幅提高了脚本代码编写的效率。
原理:通过调用浏览器的API来定位并操作页面上的对象。
Selenium 3+Python 3 自动化测试项目实战 从菜鸟到高手 田春成 李靖 /著
网友评论