Selenium简介、简史

来源:互联网 发布:入门钢笔字帖推荐 知乎 编辑:程序博客网 时间:2024/05/22 14:03

Selenium简介


Selenium是一个WEB自动化测试工具,它的特点是:

  • 支持跨浏览器的自动化测试【ie、ff、chrome、safari、opera、phantonjs、htmlunit、android、iphone、ipad、winddows phone、BlackBerry】
  • 支持跨操作系统的自动化测试【windows、linux、MAC】
  • 支持多中编程语言编写脚本【java、C#、python、ruby、js、php、perl、haskell、Objective-C、R等语言】
  • 支持分布式测试分发和管理【利用Grid、RC】
  • 拥有一个支持录制的FF插件【支持转化为各客户端语言】
  • 它是个开源工具

同时它又是一个扩展性非常好的工具,可以通过开发测试驱动来添加其可以支持的浏览器种类。所以在这个互联网泛滥的时代,选择WEB自动化工具的话,那么我想selenium应该可以作为首选的一个。它可以很好的模拟终端用户的真实行为,让自动化测试不会失真;比如:如果一个web元素不在可视区内,或者元素被其它元素覆盖、遮挡住了;那么这个元素将是不可点击的,这就很好的还原了用户的真实场景;而这点并不是所有测试工具都会考虑到的。

此外,它还可以很优雅的处理JS弹窗、键盘模拟、Javascript执行等一系列的自动化测试辅助功能,自动化测试人员无需再去寻找额外测试程序类库来支持这些操作。而当我们在需要测试浏览兼容性的时候,我们可以很方便的通过修改一行代码【或一个配置】来达成目的。

所以,Selenium可以使用在如下的这些场景:

  • 频繁的回归测试
  • 开发人员的快速反馈
  • 重复性的测试行为

Selenium历史


Selenium是在2004年由一个叫Jason Huggins的聪明的年轻人开发的,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,所以开发一个JS的类库来驱动浏览器页面的行为;这个js类库就是selenium core,同时也是seleniumRC、Selenium IDE的核心组件。这就是Selenium1.0的产生史,关于Selenium1.0的实现原理详见这里

在2006年,在google的一位有胆识的年轻人Simon Stewart发起了一个叫WebDriver的项目;因为长期以来google一直是selenium的重度用户,但却总是被限制在有限的操控范围内,所以Simon希望能通过浏览器、操作系统的底层方法等一些手段来直接操作浏览器;这样就避免了在JavaScript的沙箱环境里存在的那些限制了,webdriver项目就此诞生!

时光一下就跳到2008年,也就是北京奥运会这年,当然这一年还发生了许多其他的事情;比如:这年也是我来北京的第一年^-^;但是这一年最重要的是selenium和webdriver结合了,从此永结良缘,福泽我们广大的测试工作者。这期间谁追的谁都不重要了,重要的是他们合并的原因正如webdriver的作者所说:

  • 部分原因是selenium补充了webdriver的不足
  • 部分原因是webdriver补充了selenium的不足
  • 部分原因是它们合体后能给用户提供一个更好的自动化测试框架

所以管它呢,现在大家有一个比较好用的selenium就行了!

原文地址:http://testdoc.org/docmaster/?pid=110



0 0
原创粉丝点击