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是开源自动化工具,是化学元素硒,硒可以对抗汞。