为什么Sahi比QTP好用5倍

发表于:2013-8-13 11:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:周媛    来源:51Testing软件测试网原创

做过两年的QTP自动化测试,一直觉得还不错,可是由于公司策略的原因最近改用Sahiweb UI的自动化测试。深切的感受到Sahi的便捷和轻量。记得去年老板问过我,你能说出QTP有什么缺点时我回答QTP有时会崩溃, QTP启动慢。。。 现在看来回答的太初级了。现在我就来分析一下QTP相对于Sahi有什么缺点吧。

第一,QTP的对象识别机制让人头痛。每一个object都需要手动添加(录制的object根本没法用, 如命名不合理,默认属性有时不能唯一确认对象等问题),属性都需要手动配置而且如果用object repository的方法管理你就等着闹心吧,一个是不好管理,比如对象多的你不能一个一个看,另一个是create time, index这些看似无关紧要的属性,到时候就导致脚本失败。

第二,QTP页面同步机制实在是不怎么样。函数sync就没怎么好用过(这点有待积累考证,仅凭记忆)。一般我都用waitProperty,但是这增加了脚本开发者的工作。而且,waitProperty的第三个参数是时间,多长时间合适那?

第三,QTP的插件实在是太多了,而且版本的补丁纷繁复杂啊,一个不留神没装某个补丁,对象就识别不了。

第四,QTP 对GUI less 模式(就是看不见GUI,比如锁屏,logoff等)不支持,不支持多个testcase同时运行。

第五,QTP支持的浏览器太少了,不可否认QTP很强大,支持无论是java开发的还是.net开发的window app,但是在一个web越来越广泛应用的今天,QTP对web的支持显得那么笨重。

相比较来说,Sahi就显得很轻快。

第一,Sahi没有对象库的概念,不用用户另外管理object, 通过页面显示的内容识别object,我称他为“所见即所用”。如果页面有重复内容,Sahi提供了通过相对位置查找的方法 如_near(), _in(). 比QTP开发快捷,object查找准确。

第二,Sahi通过内嵌机制自动判断页面是否刷新出来,对ajax的支持很好。当然,我发现当object不存在时他还是会等满默认的时间再结束testcase的运行,也有可能是我的代码没写好,改进处比如加一些try catch, 有待考证。。。

第三,Sahi也是不断的维护更新,但我觉得他会把所有的东西放到一个exe中,不像QTP那么东一块西一块的。

第四,Sahi简直在这点做的太完美了,你可以一个case用IE跑,一个用firefox跑,另一个用chrome跑。然后可以三个testcase一起跑,可以5个一起跑,也可以10个一起跑,这个可以自己设定(如果太多个一起跑我估计也不行)。

第五,Sahi几乎支持所有的浏览器(360我没试过不知道)。

当然,Sahi也有缺点,比如函数库没有QTP那么丰富,资源少,对data source的处理不如QTP的data table方便。

Sahi的主页;http://sahi.co.in/

希望能有更多的同学加入到Sahi的行列,开发出更多的函数库。

版权声明:51Testing软件测试网及内容提供者拥有本文全部版权,未经明确的书面许可,任何人或单位不得对本文进行复制、转载或镜像,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • cxwtomcat
    2015-3-10 21:06:03

    sahi是商业版还是阉割版?

  • wonderful4228
    2013-8-19 14:21:09

    这位仁兄能说说怎么对div的支持不好了吗?同时您能分析一下为什么Selenium好一些吗?
    不盛感激!

  • crxwat
    2013-8-14 17:34:08

    试用了一下,没有想象中好用:商业软件;对于DIV的支持还不是很好。个人觉得还是用Selenium会好一些

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号