ct_051 发表于 2011-3-10 17:38:23

QTP对象识别的问题

相同的一个对象,为何QTP会识别成
Dialog("节点登记")
Dialog("节点登记_1")
Dialog("节点登记_2")
Dialog("节点登记_3")
Dialog("节点登记_4")
Dialog("节点登记_5")
                                 对象是完全相同的,怎样取消这种识别呢?请大家指教

风过无息 发表于 2011-3-11 09:18:15

假如同一属性,他们的index是不一样的。楼主可以打印出来看看。

solar灬 发表于 2011-3-11 13:52:18

如果是C/S架构的呢? 也有Index吗?该怎么解决呢

阳光下的橙子 发表于 2011-3-11 22:47:24

本帖最后由 阳光下的橙子 于 2011-3-11 22:50 编辑

你这个可能是C/S架构的吧,因为有多个对象都叫节点登记,但是诚如楼上所言,他们的index不同(也有可能是其他属性,但一定有一个unique property,你可以在对象库里进行操作,对象的名字是可以随便你修改的,然后去掉多余的相当属性,把唯一的那一个添加进去,就OK了

TIB 发表于 2011-3-14 11:38:43

可能是多次录制的结果

kavensyw 发表于 2011-3-14 13:58:42

在Tools-Object Identication里设置对象识别的的属性。

solar灬 发表于 2011-3-14 14:41:01

你这个可能是C/S架构的吧,因为有多个对象都叫节点登记,但是诚如楼上所言,他们的index不同(也有可能是其 ...
阳光下的橙子 发表于 2011-3-11 22:47 http://bbs.51testing.com/images/common/back.gif


    添加完唯一的属性后是不是需要用描述性编程吗,具体的语句能举个例子吗?望解答。。。谢谢

solar灬 发表于 2011-3-14 17:21:40

知道的帮忙再回复一下。。。

阳光下的橙子 发表于 2011-3-14 22:23:24

回复 7# solar灬


    QTP在录制对象时候,一般会给这个对象添加2-3个属性,但这个2-3个属性并不一定能够成为该对象的unique属性,也就是不能识别。
   我举个例子,A,B,C三个按钮,他们有3个属性,分别叫text,href,outid
   但是他们的这三个属性值都一样,分别为1,2,3,QTP在录制的时候,添加了这3个属性,但没办法通过这三个属性去识别这三个按钮(因为都一样),所以需要通过object spy来观察,有可能他们的unique property是一个叫session id的属性,然后把这个添加进去,就可以识别了。(以上是针对WEB的一些经验之谈)

ytt_32011 发表于 2011-3-17 11:57:33

我也遇到同样的问题,表格中“账号管理”链接是同一属性,他们的index是不一样,但是回放的时候没法按照对应的名称所在行的“账号管理”链接,只能按照index定位,不知道如何修改?

hyholine 发表于 2011-3-18 00:22:41

如果你确认在页面上获取的是同一个页面元素,可以使用描述性和正则表达式试试看:
例如:你的对象name属性值为:节点登记,那么实现关闭Dialog动作为:
Dialog("name:=节点登记","index:=^\d+$").close
页: [1]
查看完整版本: QTP对象识别的问题