51Testing软件测试论坛

标题: QTP对象识别的问题 [打印本页]

作者: ct_051    时间: 2011-3-10 17:38
标题: QTP对象识别的问题
相同的一个对象,为何QTP会识别成
Dialog("节点登记")
Dialog("节点登记_1")
Dialog("节点登记_2")
Dialog("节点登记_3")
Dialog("节点登记_4")
Dialog("节点登记_5")
                                 对象是完全相同的,怎样取消这种识别呢?请大家指教
作者: 风过无息    时间: 2011-3-11 09:18
假如同一属性,他们的index是不一样的。楼主可以打印出来看看。
作者: solar灬    时间: 2011-3-11 13:52
如果是C/S架构的呢? 也有Index吗?该怎么解决呢
作者: 阳光下的橙子    时间: 2011-3-11 22:47
本帖最后由 阳光下的橙子 于 2011-3-11 22:50 编辑

你这个可能是C/S架构的吧,因为有多个对象都叫节点登记,但是诚如楼上所言,他们的index不同(也有可能是其他属性,但一定有一个unique property,你可以在对象库里进行操作,对象的名字是可以随便你修改的,然后去掉多余的相当属性,把唯一的那一个添加进去,就OK了
作者: TIB    时间: 2011-3-14 11:38
可能是多次录制的结果
作者: kavensyw    时间: 2011-3-14 13:58
在Tools-Object Identication里设置对象识别的的属性。
作者: solar灬    时间: 2011-3-14 14:41
你这个可能是C/S架构的吧,因为有多个对象都叫节点登记,但是诚如楼上所言,他们的index不同(也有可能是其 ...
阳光下的橙子 发表于 2011-3-11 22:47



    添加完唯一的属性后是不是需要用描述性编程吗,具体的语句能举个例子吗?望解答。。。谢谢
作者: solar灬    时间: 2011-3-14 17:21
知道的帮忙再回复一下。。。
作者: 阳光下的橙子    时间: 2011-3-14 22:23
回复 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
我也遇到同样的问题,表格中“账号管理”链接是同一属性,他们的index是不一样,但是回放的时候没法按照对应的名称所在行的“账号管理”链接,只能按照index定位,不知道如何修改?
作者: hyholine    时间: 2011-3-18 00:22
如果你确认在页面上获取的是同一个页面元素,可以使用描述性和正则表达式试试看:
例如:你的对象name属性值为:节点登记,  那么实现关闭Dialog动作为:
Dialog("name:=节点登记","index:=^\d+$").close




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2