自动化测试中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就显得很轻快。
第一,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/
上一篇:做软件的自动化测试一般用啥工具?
下一篇:移动设备自动化测试工具