一、Selenium 1.0
2004年。
包括Selenium IDE、Selenium Grid和Selenium RC。它们的核心是Selenium Core,一个用JavaScript编写的用于操作浏览器的库。
(1) Selenium IDE
它是一个 Firefox 插件,实现简单的浏览器操作的录制与回放功能,提供创建自动化测试的建议接口。
(2) Selenium RC
Selenium RC 是selenium 家族的核心工具,Selenium RC 支持多种不同的语言编写自动化测试脚本,通过selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。
Selenium RC还分为Selenium Server和Client Library。
Client Libraries 库主要主要用于编写测试脚本,用来控制selenium Server 的库。
Selenium Server 负责控制浏览器行为,启动一个与浏览器进行通信的服务器。总的来说,Selenium Server 主要包括3 个部分:Launcher、Http Proxy、Core。
(3) Selenium Grid
Selenium Grid 使得 Selenium RC 解决方案能提升针对大型的测试套件或者哪些需要运行在多环境的测试套件的处理能力。
Selenium Grid 能让你并行的运行你的测试,也就是说,不同的测试可以同时跑在不同的远程机器上。
2、Selenium 2.0
2008年。
WebDriver 是 Selenium 2 主推的工具,事实上WebDriver是Selenium RC的替代品。
因为Selenium需要保留向下兼容性的原因,在 Selenium 2 中, Selenium RC才没有被彻底的抛弃。
如果使用Selenium开发一个新的自动化测试项目,那么我们强烈推荐使用Selenium2 的 WebDriver进行编码。
与Google的WebDriver项目合并,WebDriver就是2.0的核心。
WebDriver是一套独立的API,它的目标是用来代替Selenium RC。
在2.0版本中,因为兼容性没有删除Selenium RC.
3、Selenium 3.0
删除Selenium RC,2016年7月发布。(API相对2.0没有任何改变)
支持的浏览器: FireFox、IE、Safari、Opera、Chrome、Edge、等等。
支持的操作系统平台: Windows、OS X、Linux。
支持的语言: C#、Java、JavaScript、Python、Ruby、PHP、等等。(在使用Java的时候需要Java 8以上;如果需要使用Selenium Grid,那么也要Java 8支持。)
核心就是WebDriver类和WebElement类。
4、Selenium 4.0
还未发布,目标是完全支持W3C标准。
3.0的Selenium Client是通过JSON Wire Protocol协议与Selenium Server进行交互的;在4.0中考虑不通过这一层协议而是直接使用WebDriver的原生API进行交互。
WebDriverAPI的发展,已经超出了Selenium的限制,很多其他的产品都开始考虑遵循WebDriverAPI。
5、参考学习手册
《Selenium with Python》: https://selenium-python-zh.readthedocs.io/en/latest/