多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

自动化测试中Sahi与QTP的对比

更新时间:2021-11-22 09:07:02 作者:多测师 浏览:239

自动化测试中Sahi与QTP的对比

  做过两年的QTP自动化测试,一直觉得还不错,可是由于公司策略的原因最近改用Sahi做web 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与QTP的对比

  相比较来说,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与QTP的对比,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/


联系电话

17727591462

返回顶部