该死的QTP
环境:XPP, QTP9.5测试对象: 一个产品,操作中会弹出2~3,完全同名,除了static有些不一样
问题1:
如果尝试用record的方式,会记录下6,7个Dialog,名字相同,只是多了_数字. 所以把一个Dialog的text属性用正则表达式处理,把所有子object都放到这个Dialog下 ,这样就不用处理太多dialog了.
可是replay时发现, QTP对于同时存在的多个同名Dialog无法处理!!!!!!!!!!!!
问题2:
同名的Dialog,如果所有属性一样(包含的static肯定不一样),QTP就加入order identifier来识别,可是replay时order identifier不能正确识别对应的Dialog.
比如:一个static在record时在Dialog("AA")下,回放不能通过,重录发现它被识别到了Dialog("BB")下了,再下次就是CC下了.
快被这个该死的东西烦死了.
[ 本帖最后由 iov_cp 于 2009-5-21 11:05 编辑 ] 对象不能被正确识别的问题啊。
【可是replay时发现, QTP对于同时存在的多个同名Dialog无法处理!!!!!!!!!!!!】
<<<报错信息是什么?把一个Dialog的text属性正则处理后,其他的Dialog有没有删除了?
【同名的Dialog,如果所有属性一样(包含的static肯定不一样),QTP就加入order identifier来识别,可是replay时order identifier不能正确识别对应的Dialog.
比如:一个static在record时在Dialog("AA")下,回放不能通过,重录发现它被识别到了Dialog("BB")下了,再下次就是CC下了.】
<<<能不能用描述性对象编程的方法,如果页面只有一个Dialog的话属性值给设成“.*”。 原帖由 fei.ge 于 2009-5-21 11:15 发表 http://bbs.51testing.com/images/common/back.gif
对象不能被正确识别的问题啊。
【可是replay时发现, QTP对于同时存在的多个同名Dialog无法处理!!!!!!!!!!!!】
问题1: 保留了其他Dialog在object repository中. 比如总共保留了4个Dialog,aa,bb,cc,dd,其中aa的text属性使用使用正则.
回放时Dialog("aa").static("xx").exist始终为false. 即使有2个同名窗体在你眼前
问题2:
已经尝试了描述性对象了,结果依然fail. 描述性对象其实就是把正规对象给正则化.
很不幸的是,QTP本身没有c++,C#那么强大,不然就能大量调用API与编程了 根据LZ的描述,首先已经可以确定了对象是可以被很好的识别的,那么LZ需要去检查这些_2 _3等等对象的所有属性不同点在哪里,然后用正则表达式去修改其中一个对象的属性,然后将脚本中所有用到该对象的对象名改为和修改过属性的对象同名。
这样只是做到了让Dialog对象能匹配。如果你需要用到Dialog对象的子对象,那你需要确认该子对象在对象库中是存在的。所以,LZ需要将报错的截图贴出来,看报的是什么错,是Dialog不能被识别还是子对象在对象库中不存在,等等,然后才能去判断是哪里出了问题。 我遇到过这个问题,dialog很奇异,于是我也用很奇异的方法把这个问题解决了。
不过在解决问题的过程中我发现,似乎dialog对象不支持描述性编程!
页:
[1]