QQ截图20160624143800

Selenium——WEB功能测试领域的伟大创新

提到WEB领域功能测试的自动化,无疑Selenium+WebDriver的组合是首选。它们改变了测试人员编写和执行测试用例的工作方式,大大提高了回归测试的执行效率。特别是在最近五年(2010-2015)间,随着互联网公司的大量兴起和业务的快速迭代,已经让很多国内大的互联网公司选择了它们作为自动化和持续集成的核心工具。

作为一个测试工作者,特别想知道Selenium是什么?这个根本性的问题,对它的发展史也特别感兴趣,为什么呢?因为可以推断出国内自动化测试和持续集成的发展和兴起阶段,对于今后行业趋势的判断也会把握的更加准确。

Selenium是什么?它能解决什么问题?

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

1.支持跨浏览器的自动化测试(IE、firefox、chrome、phantonjs)
2.支持跨操作系统的自动化测试(windows、linux、MAC)
3.支持多中编程语言编写脚本(java、C#、python、ruby、js、php、perl、haskell、Objective-C、R等语言)
4.支持分布式测试分发和管理(利用Grid、RC)
5.拥有一个支持录制的Firefox插件(支持转化为各客户端语言)

它的扩展性非常好,可以通过开发测试驱动来添加其他浏览器支持。所以选择WEB自动化工具的话,Selenium无疑是首选。

它可以很好的模拟终端用户的真实行为,让自动化测试不会失真;例如:一个web元素不在可视区内,或者元素被其它元素覆盖、遮挡住了;那么这个元素将是不可点击的,这就很好的还原了用户的真实场景;而这点并不是所有测试工具都会考虑到的。此外,它还可以很优雅的处理JS弹窗、键盘模拟、Javascript执行等一系列的自动化测试辅助功能,自动化测试人员无需再去寻找额外测试程序类库来支持这些操作。

那么,Selenium主要使用在哪些测试场景呢?

1.频繁的回归测试;
2.开发人员的快速反馈(持续集成的重要组成部分);
3.重复性的测试行为;

通过上面的介绍,应该对Selenium有了一个简单的了解,1.功能强大、2.可扩展性强、3.能执行重复测试这三个关键词是最直观的感受。

那么问题来了,作为一个测试兼科技控,对Selenium的产生和发展历史有着浓厚的兴趣。是什么催生了它,又是什么原因让他发展壮大的呢?继续挖

Selenium有三个重要的发展节点

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

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

2008年
时光一下就跳到2008年,也就是北京奥运会这年,这一年Selenium和Webdriver结合了,造福全球的测试工作者。这期间是谁抛的橄榄枝已经不重要,重要的是他们合并的原因正如webdriver的作者所说:

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

最后,江边望海感谢哪些不甘现状的年轻人对自己事业的真情付出,同时更要感谢哪些深入底层研究的科技工作者。

最后,鸣谢

文章部分内容摘自:http://blog.csdn.net/five3/article/details/20660449

 

《Selenium——WEB功能测试领域的伟大创新》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注