Selenium Core
2004 年,Thoughtworks 工程师 Jason Huggins 正在负责一个 Web 应用的测试工作,项目需要频繁回归,因此每天做着重复低效的工作。为了减少手工测试工作量,Jason实现了一套基于javascript语言的代码库,使用这套库可以进行页面的交互操作。
后来团队在此基础上完善了很多 API,发展成Selenium Core
这时的 Selenium Core 只支持 JS 编写的测试脚本,且只能在本地运行
Selenium 1
团队在Selenium Core的基础上,发布了三个新工具:Selenium IDE、Selenium Grid、Selenium RC(Remote Control), 这三个工具所组成的系统被称为Selenium 1
- Selenium IDE 用来录制及回放简单的测试用例脚本;
- Selenium Grid 用来支持分布式运行测试脚本;
- Selenium RC 用来在浏览器中执行测试脚本
Selenium 通过在浏览器中注入 JavaScript 应用,并通过执行应用中的各种 JS 函数来实现对浏览器的控制
Webdriver
2006年,Google工程师Simon Stewart 开启了一个叫做Webdriver的项目
Simon 希望 WebDriver 能通过浏览器提供的 API 来直接操作浏览器,借此来规避在 JS 沙箱中的各种限制,从而解决selenium1的痛处
Selenium2
2009 年,Google 测试自动化会议上,两个团队的开发人员在沟通后决定合并这两个项目,新项目被命名为 Selenium Web Driver,也就是 Selenium 2.0
Selenium2 = Selenium1 + WebDriver
Selenium2作为Selenium1的升级版本,向下兼容Selenium1的所有功能,并提供更多的API完成更多复杂操作