amorer 发表于 2011-12-28 14:49:19

QTP对象识别机制

QTP对象识别机制中,为什么它默认不按ID(Winddows ID/Debug ID/ID etc)来识别对象,而是text?附图中: winbutton
强制属性
1:nativeclass 我发现在一般windows/.NET产品都是 “Button”这个值,
2: text,"YES", "NO","确认"等。
Windows Id为附属属性。
这样,实际默认情况下,QTP就是以Text来区别两个button。
而Selenuim默认依靠ID来识别对象,这样不管Button text 是YES,还是“确定”,对测试脚本基本没有影响。
这样来看QTP的这套机制已经落伍了。
我知道可以把ID改成强制属性,但是分发的别的没有修改的QTP环境上,就会有问题,
为何它默认没有采用ID的方式?

amorer 发表于 2012-1-4 11:34:52

有木有人回复啊?

wangyanzhao 发表于 2012-1-5 13:22:19

你自己可以添加其他的属性,至于ID 你可以通过DOM解析

clack-kent 发表于 2012-1-5 13:34:06

楼主不是你理解的QTP的机制有问题,只能说你用的还不到家,解决办法注意3楼

bluesky1986007 发表于 2012-1-8 23:04:09

额。。。。。不能因为这个就说qtp落伍哦,每个工具有其自己的特点和识别机制

hsjzfling 发表于 2012-1-9 10:12:17

LZ你用selenium测试window/.net看看……
对于很多的app来说,window id就是个随机分配的动态值,这样的程序中你要依赖window id来识别控件会抓狂的。想无视文本也容易,牺牲下易读性和部分可维护性,全用顺序标识符来识别好了。

目前来看,QTP的强大是不容亵渎的……
页: [1]
查看完整版本: QTP对象识别机制