1 selenium的发展历史
1.到目前为止Selenium已经更新到了3.0,先看一下这个伟大的自动化工具的历史性事件:
- Jason Huggins在2004年开始研发Selenium核心。
- Selenium RC在2006年加入了进来。
- Selenium 2.0(Webdriver支持)在2011年替代了RC。
- Selenium 3.0在2016年10月出生。
2.每代的变化
Selenium1
Selenium1.0不能处理以下事件:
1) 本机键盘和鼠标事件
2) 同源策略XSS/HTTP(S)
3) 弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载)
Selnium 1.0 包括:selenium RC 、selenium IDE 、selenium GRID、selenium CORE
Selenium 2(selenium2的稳定版是2.53.1)
又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。
webdriver google的自动化测试框架(或者说是套规范API)webdriver 与seleinum 各有优点,
两个团队都认为合并会更牛逼,于是:
selenium 2.0 = selenium RC + webdriver。
WebDriver是一个用来进行复杂重复的web自动化测试的工具。需要强调的是,在Selenium 2.0中
主推的是WebDriver,可以将其看作Selenium RC的替代品。因为Selenium为了保持向下的兼容性,
所以在Selenium 2.0中并没有彻底地抛弃Selenium RC。
Selenium 3(selenium3的稳定版是3.0.0)
- Selenium Webdriver核心API将作为一个接口,浏览器厂商将独立提供客户端驱动程序。
- 甚至Firefox现在也有了GECKO驱动来实现Webdriver 3.0 API。GECKO驱动遵从W3C Webdriver spec文档。你可以在这里看到最新的API说明。
- 支持Safari,通过Apple的Safari驱动。
- 对于IE,Selenium使用Edge驱动。
- 一些其他的改变如下: 最低JRE版本要求8.0 支持的IE版本>=9.0 重新支持Firefox47.0.1以及早期版本。 对于更新版本的Firefox,使用GECKO驱动。
课外阅读
Jason Huggins在2004年发起了Selenium项目,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,幸运的是,所有被测试的浏览器都支持Javascript。Jason和他所在的团队采用Javascript编写一种测试工具来验证浏览器页面的行为;这个JavaScript类库就是Selenium core,同时也是seleniumRC、Selenium IDE的核心组件。Selenium由此诞生。
关于Selenium的命名比较有意思,当时QTP mercury是主流的商业自化工具,是化学元素汞(俗称水银),而Selenium是开源自动化工具,是化学元素硒,硒可以对抗汞。