二、自动化技术哪家强,QTP对比看端详

本文对比了多种自动化测试框架,包括QTP、Selenium、RobotFramework、RFT、Watir和Sahi等,从支持的语言、系统及费用等方面进行了详细的介绍,并针对每种框架的特点进行了点评。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.1 对比范围

  了解了QTP 是进行自动化测试的完整框架,能完成自动化测试的框架还有很多,本篇对如下框架进行一下对比。

  提到自动化测试Selenium是不得不提的。Selenium是ThoughtWorks员工在业余时间开发并维护的开源项目,并且在 ThoughtWorks的项目中被广泛应用。简单地说,Selenium是一个自动化的Web应用功能测试框架。在Selenium出现之前,当时最著 名的Web应用功能测试工具Mercury Quanlity Center,价格不菲,开发开源的人命名为Selenium。“Mercury”有“水银”的意思,而“Selenium”是硒元素,正是专解汞中毒的特效药。

  目前还有一个框架慢慢兴起,也有很多人在使用,就是Robot Framework。Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架,使用Apache License 2.0,由Robot Framework Foundation开发和赞助。Robot Framework被广泛地使用在端到端地验收测试中,生态体系非常丰富。

  再说一个老牌框架,RFT:IBM Rational Functional Tester。这是一款先进的、自动化的功能和回归测试框架,它适用于测试人员和GUI开发人员。基础是针对于Java、.NET的对象技术和基于 Web 应用程序的录制、回放功能。工具为测试者的活动提供的自动化的帮助,如数据驱动测试。

  后起之秀有Watir,全称是“Web Application Testing in Ruby”,发音类似“water”。Watir 是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它很小巧,也很灵活,提供的功能也足够用。

   还有Sahi,它是一款印度公司 Tyto Software 开发的成熟的开源 Web 自动化测试框架。Sahi 简单易用,能良好支持 Ajax 和 Web2.0 技术,同时适用于敏捷和传统的不同测试模式。

  提到自动化测试Loadrunner和Jmeter也是说的非常多的,但这两款为人熟知的更是其性能压力测试方面,虽然也能进行接口级的验收测试,终究术业专攻不一致。这里我们聚焦于UI的自动化测试。

   上面提到的几个框架,总结对比如下。

工具支持语言
支持系统费用IDE一句话描述
QTPVBSC/S,Web商业收费UFT自成体系
SeleniumPython,Ruby,JavaWeb开源免费IDE自己动手,丰衣足食
Robot FrameworkPython,JavaC/S,Web开源免费RIDE第三方库的搬运工
RFTJava,C#C/S,Web商业收费RFT就像Java一样
WatirRubyWeb开源免费ScITERuby使用COM的Selenium
SahiSahi,Java,RubyWeb开源收费(有免费版)Twist一股清流


2.2 详细说明

    上面的对比是大概的方向,这里并没有对是否能录制进行对比。笔者认为录制功能是个鸡肋,很少有成功的自动化项目是依赖录制完成的。这个功能只能是个辅助,更多的是用来说服领导的理由。

   QTP使用VBS语言,支持桌面以及Web系统,有非常完备的生态系统,IDE也非常成熟。可以说是自成体系。

   Selenium是非常好的一个框架,但它的IDE是非常简陋的,基本上只有刚刚学习的时候会玩两下。Selenium实际是一套Web操作的库,不论是1还是2,都需要使用者自己设计。包括用例管理、报告、容错都需要自己编写代码,所以是“自己动手,丰衣足食”。

  Robot Framework最近几年用的人多了些,笔者觉得是顺了Python的风。如果用Jython就费劲了,也不建议使用,Python提供的库实在太丰富了。而RF就是借用各种开源的库,让自动化测试脚本编写就像是再填写Excel。所以笔者描述为“第三方库的搬运工”。

  RFT是IBM出品的,肯定是精品。笔者没有详细使用过,写过几个例子脚本,用起来“就像Java一样”。IDE和Ecplise一样,所以熟悉Java的人很容易上手。

    Watir使用Ruby语言,有自己的IDE,其原理是通过Ruby调用系统的COM组件,之后为所欲为。整体的脚本设计需要动的脑子还是比较多的,所以笔者认为Watir实际就是“Ruby使用COM的Selenium”。

    Sahi的开创性比较强,最近准备好好研究一下。不同于Selenium、RF(实际是Selenium2library)、Watir、RFT、QTP的基于DOM树的识别方法,Sahi是通过页面的关键字进行对象识别,能够达到所见即所得。它提供的_near、_under等关键字,从思路上就是很具有创新性的。对于富客户端框架,笔者看好Sahi,感觉是“一股清流”。

    

    今天对QTP以及其他自动化测试框架进行了对比,具体项目选择哪个,需要非常慎重的考虑。但可以确定的是,没有一条路是没有坑的,自动化没有说的那么“自动化”,是要下苦功夫、下大力的。

 



看完本文有收获?请分享给更多人

关注水滴测试,不知不觉变大牛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值