经常有人问到这么一个问题:selenium和WebDriver有什么区别,WebDriver和Holmos又是什么关系,QTP和AutoRunner哪个好?

  这里随便聊聊。

  说到自动化测试工具,我想很多人第一个反应是QTP。

  1.QTP全称(QuicktestProfessional)他是HP公司下企业级自动化测试工具,目前新版为11.5也已经更改名为UFT,该版本已经支持win8下的IE10并加入了移动端自动化。

  QTP录制的脚本使用的VBS语言,这是一个过时的语言。

  它和下面要介绍的几个对比大优势在于它支持C/S客户端软件的自动化,同时他是一款收费的测试工具,我想大多人使用的都是破解的。然后我们的系统很多是用Ghost版QTP又是用破解的,经常会碰到各种莫名其妙的问题。我早接触的自动化是它了,虽然目前QTP市场占有率还是极高,但是个人不介意新手去学习QTP。

  2.AutoRunner 3.9

  AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。

  自动化测试是当今测试发展的方向,能够帮助软件开发团队实现:

  节省测试时间

  自动测试通过执行测试脚本来实现测试自动化,单个脚本的执行速度比人工执行快10倍以上,能够为我们节省大量的测试时间,我们不必为了测试时间的deadline而加班加点。

  24小时执行

  通过24小时执行模式,实现夜间执行模式,实现夜间自动执行,从而达到“每日构建测试”的目标,可以即使发现每天出现的缺陷。项目经理及时获取项目质量数据,掌握项目进展情况。

  降低成本

  自动化测试不需要人员来执行测试用例,因此可以节省大量的执行成本。对测试人员而言,不需要发布新版本带来的加班。对于整个产品开发团队,只使用很少的测试人员可以达到高质量的产品,获得大量成本的节省。

  3.Selenium 1.0

  靠javascript注入浏览器的方式控制方式来实现对浏览器的操作,但是js方式存在着例如同源、兼容等问题,使测试工作变得很困难。

  4.webdriver

  谷歌对selenium1.0进行了重新编写,这有了Webdriver。Webdriver它不在采用javascript注入来跟浏览器打交道,而是实现了跟每一个不同浏览器特定相关的原生API来跟浏览器打交道.所以意味着它正对某种浏览器,都有一个对应的driver。

  很多时候我们说的selenium2.0=webdriver+selenium 1.0;

  当前很多大公司的自动化框架都是居于webdriver之上做的二次开发封装包括下面要讲的holmos.

  5.Holmos

  Holmos同样是一个完全开源的自动化测试框架,他与其它框架大区别在于他把页面元素定位和元素操作完全的分离。这么分离有啥好处:1.降低了学习成本 2.降低了代码维护成本。 与holmos相对应的是一个采用FireFox内核的深度定制的浏览器AutoSense,可以直接生成页面元素定位类文件,以便直接使用。

  当然还有其它非常多的框架,如淘宝的automan、automanx再如Robot Framework、Watir-WebDriver等等。