51Testing软件测试论坛

标题: selenium VS QTP [打印本页]

作者: 黑五类    时间: 2009-12-14 14:06
标题: selenium VS QTP
selenium  和 QTP  都是现在比较流行的 功能测试工具。现在从个人的使用角度出发从一下几个方面说明各自的优点,希望能对大家的学习有所帮助。

价格:
    虽然这个比较意义不大,但是还是应该拿出来说一下。selenium 是开源的自动化测试工具,但是QTP是商业版的,而且价格不菲。在这一点上如果不考虑盗版的原因,我想绝大数的公司可以会选择selenium。 买QTP的钱,完全可以招到几个高级自动化测试人才用selenium实现。

应用领域:
    如果价格是selenium的绝对优势的话,那么应用领域又是QTP的绝对优势。selenium支持支web页面的测试,而QTP不光支持web界面的测试,而且还支持Clinet方面的测试。

功能方面:
    录制功能的支持当然是QTP支持的好了。 QTP的录制回放成功率很高,但是 selenium的录制回放成功率就非常的低。  
   
    脚本的编辑功能。在这个方面很难做出评判,如果是熟悉java的人,会喜欢selenium的,但是如果熟悉的是VBScript可能就会喜欢selenium。个人喜欢selenium。

    框架处理的能力:在数据驱动方面,QTP的支持很灵活,可以通过简单的设置就可以完成数据驱动的自动化脚本。selenium要用编程来实现才可以。但是就这么一点不能说明selenium在框架的处理能力上就比QTP差。个人认为,selenium提供了更加开阔的框架处理能力给用户本身,用户可以根据自己的实际情况开发出更适合自己的自动化测试脚本。举例说明: 在做页面测试的过程中,我们不能保证页面是恒定不变的,所以这个时候,在自动化框架中就需要有一个页面适应层,页面变化了,只需要通过修改页面适应层的代码来适应,而不需要去修改在页面适应层之后的测试用例的代码。这样可以简化我们的代码的工作量。但是这一点QTP好像是不支持的。但是这一点在页面自动化测试的过程中是很关键的。

    比较就做到这吧,写着写着,我自己都觉得好像没有什么意义。关键还是要看用工具的人。工具的功能是有限的,但是人的能力可以是无限的。工具都是好工具,好好应用吧。呵呵
作者: shanxi    时间: 2009-12-14 15:01
标题: Selenium/Tellurium + TESTNG + ReportNG 简直是绝配!
如果国内QTP都用的正版,我想开源的工具普及度会更高,毕竟相比正版的价格,开源上的投入仍然不会超过商用。
作者: mklodoss    时间: 2010-1-4 17:04
学习
作者: mklodoss    时间: 2010-1-11 19:56
在自动化框架中就需要有一个页面适应层,页面变化了,只需要通过修改页面适应层的代码来适应,而不需要去修改在页面适应层之后的测试用例的代码。

这个能否举个例子。。。
作者: 欺负人    时间: 2010-1-12 19:15
楼上的 人家已经说明白了 不知道你哪里没看明白?
作者: mentgmery    时间: 2010-1-13 09:50
selenium,更像一个半成品,可在此基础上自由开发
作者: jmy_1981    时间: 2010-1-13 22:29
标题: 各有优点吧……
selenium 硒,大概可以治疗 mecury 中毒的人……
作者: shanxi    时间: 2010-1-14 20:42
楼上说selenium 不好的人们

贵公司的QTP用的正版吗?
作者: yunyunlinlin    时间: 2010-1-25 16:21
qtp不用正版就说明qtp不好啦,一个用c++开发的,一个javascript开发的,不是一个等量级的,qtp当然ko selenium
作者: lightbamboo    时间: 2010-2-4 15:49
俺这样的新手,刚刚接触自动化测试工具的
是先学qtp呢,还是selenium?
前辈给个建议?
作者: yunyunlinlin    时间: 2010-2-9 18:12
学哪个都一样,qtp相对更容易一些,selenium对编程要求还高点
作者: lamuda    时间: 2010-2-16 23:53
selenium还有一个很大的优势,跟数据库处理容易,毕竟是用Java的,如果用QTP会很麻烦。
作者: CSTerminator    时间: 2010-2-23 13:14
有没有相关教程,觉得不错
作者: murishan    时间: 2010-3-1 14:27
标题: 回复 1# 的帖子
虽然没用过QTP,但是用到Selenium,我觉得Selenium确实功能要差一些,不过要是写脚本测试这都不是大问题。TestNg,Junit,很好用。
作者: biscuit    时间: 2010-3-4 17:58
标题: 回复 9# 的帖子
Javascript? selenium的RC是用JavaScript做的吗?  selenium Grid 是用JavaScript做的吗?
如果java学的好,selenium完全搞定QTP,你能用c++搞QTP吗?  还录制。。。频繁改动的产品录制一遍就是一遍regression了.
作者: park_p    时间: 2010-3-5 09:06
楼上,selenium的核心确实是javascript的,你要搞清楚selenium RC是用什么在操作浏览器,是RC server,server发送的页面凭什么能被RC操作,是server做中转时注入了selenium的核心js库,你才能把java中的方法映射成一个对应的js方法,让其来实际操作浏览器内的真实dom对象。selenium的js扩展是开放的,如果你js强,selenium就能被你扩展的很强,明白啦。
你好像把它理解成java的了,其实java只是启动web测试的外部运行框架。否则,你用java就直接能操作浏览器的实际对象了,可是你要知道,这需要java取得浏览器的api接口的。这样做肯定有办法,但绝对不是selenium。
以上是我的理解,从网上查阅一些资料学习获得的,建议你也搜索些selenium的资料,谈谈你的看法和认识,相互切磋提高啊~

补充下:QTP在测试浏览器内部操作时,也就是web操作时,实际是用c/c++做了一个IE浏览器的activeX的插件,用插件来操作浏览器内的文档对象模型。实际上,就DOM对象模型的操作能力上而言,selenium其实是强于QTP的,虽然QTP是用c/c++来写的。如果脱离了那个activeX插件到IE的话,QTP测试web程序将很困难。所以请不要有迷信心理,问题还是要具体来看的。单重开发语言方面说事是十分单纯的想法,照你的说法,汇编搞出来的东西肯定比c/c++强,机器语言搞出来的肯定比汇编强,电路设计上面的支持又肯定比机器语言强了。其实各个事务都是有适用性的,selenium在web测试上我觉得就比QTP强,QTP通过插件操作JS再去操作DOM,而selenium是直接操作JS操作DOM,QTP根本上就多了层限制,只是QTP在遇到浏览器操作之外的问题时就要比selenium强大的原因。还有,QTP好像目前只支持IE的web测试,因为要想测试其他浏览器就要HP开发新插件支持,而selenium的特性已经从理论上支持了所有支持JS的浏览器,目前它就已经支持IE、FireFox、Mozilla、和google的Chrome了。

[ 本帖最后由 park_p 于 2010-3-5 11:07 编辑 ]
作者: mentgmery    时间: 2010-3-5 11:38
park_p,顶你,讲的很不错,说明你在此方面折腾过,有机会切磋
作者: 夭夭旭    时间: 2010-3-12 15:47
受益。。。。。顶。。。。
作者: Eric_Lee    时间: 2010-3-22 17:10
16楼回答的非常到位,赞一个
作者: Jimmyshao    时间: 2010-3-22 23:04
原帖由 park_p 于 2010-3-5 09:06 发表
QTP好像目前只支持IE的web测试


这个貌似不对吧.
挑个不是最新版本的QTP9.5来看
下面是ReadMe内容
Web Browsers »
You can create and run tests and components using the following browser versions:
Microsoft Internet Explorer 6.0 Service Pack 1, 7.0
Netscape Browser 8.1.3, 9.0
Mozilla Firefox 1.5, 2.0.x, 3.0 Alpha 7
作者: Jimmyshao    时间: 2010-3-22 23:04
原帖由 park_p 于 2010-3-5 09:06 发表
QTP好像目前只支持IE的web测试


这个貌似不对吧.
挑个不是最新版本的QTP9.5来看
下面是ReadMe内容
Web Browsers »
You can create and run tests and components using the following browser versions:
Microsoft Internet Explorer 6.0 Service Pack 1, 7.0
Netscape Browser 8.1.3, 9.0
Mozilla Firefox 1.5, 2.0.x, 3.0 Alpha 7
作者: 清溪蓝郁    时间: 2010-9-10 11:14
标题: 新手
各位前辈都好厉害,我是在校学生,专业软件测试,感觉学习到的东西好少
作者: littletom    时间: 2010-9-30 10:14
几位的介绍真是大有帮助,谢谢!
一直用QTP,但QTP对Firefox的支持确实不太好,虽然拿到了QTP对Firefox的最新补丁,但还是要用描述性的编程才能实现一些特定的测试。
希望了解下selenium,相信各有各的的好。
作者: alineyou    时间: 2010-10-8 17:12
学习!
作者: nangfeng    时间: 2010-10-10 21:49
学习一个。。。
作者: wugecat    时间: 2010-10-12 14:37
回复 21# Jimmyshao
Web的自动化一定涉及到对DOM的应用,QTP操作DOM的方式是object.Object.(方法),然而帮助中有一句话...The Object property for Web objects is supported only when running steps on Internet Explorer.  It is not supported when working with Netscape Browser or Mozilla Firefox.所以说QTP不支持firefox也不过分.....同时Seleniunm在IE下执行简直慢的像牛一样,说Seleniunm不支持IE也不为过.总之各有所长
作者: lxd123    时间: 2010-10-25 17:11
支持selenium,个人感觉还是selenium的发展空间比较大,毕竟是开源的,且是“半成品”,最近也在研究selenium,希望能够推广给公司其他部门
作者: chen6_9    时间: 2010-11-8 00:05
回复 16# park_p


    说得好学习~
作者: timfung    时间: 2010-12-13 15:41

作者: bluesky1986007    时间: 2011-10-22 21:48
16楼真的回答的不错!selenium在web自动化方面真的做的不错,打个可能不恰当的比方,selenium和QTP就像andriod系统和ios系统。喜欢用哪个就用哪个吧,没必要互相攻击。因为每个人心里的想法不一样
作者: 474241558    时间: 2011-10-31 13:13
如果是在做web方面的自动化,我建议还是使用selenium,配合一些优秀的框架一样可以做的很强大。例如cucumber框架,不知道大家有没有使用过。非常不错。
http://bbs.qtpfuns.com 最近也在策划cucumber+selenium自动化的事情,教大家简单使用selenium+cucumber上路是可以的。
作者: huapizhu520    时间: 2011-11-10 16:48
受益匪浅啊,谢谢
作者: 炫彩琉璃    时间: 2012-8-10 11:59
还是不知道从哪个下手呀
作者: heqingbluesky    时间: 2012-8-17 13:32
楼上,selenium的核心确实是javascript的,你要搞清楚selenium RC是用什么在操作浏览器,是RC server,serv ...
park_p 发表于 2010-3-5 09:06



最近准备开始用Selenium,学习一下基本原理。

目前QTP也可以用于IE和Firefox了。
作者: alice2003yf    时间: 2012-8-26 17:06
本帖最后由 alice2003yf 于 2012-8-26 17:08 编辑

学习,QTP和Selenium之间这么大区别。。30#解说得好,每个人想法不一样,你的比喻很容易理解,有机会向你讨教~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2