标题: 架构树,出现多个重复名称.如何解决! [打印本页] 作者: szwilliam 时间: 2007-8-1 10:38 标题: 架构树,出现多个重复名称.如何解决! 我现在遇到这样的一个问题,我想选择那棵树中的任意一个位置.
比如我想选中树中的 总部>华南区>深圳公司>销售部.可是广州公司下面也包含销售部.这样用QTP会放的时候就不知道是那个对象了,报的错误是说对象不唯一.
环境:windows2003 servers qtp9.0
另外我是用的描述性编程去描述这个对象的,,描述了它的 html tag,innertext
如何我把那个对象的 index属性加上,这样就可以区分了,,但是这样我的程序就不够通用了,以后我都要知道我的那棵树中有多少了销售部,我要选中的那个index是多少?
请教一下大家!!希望大家可以提供好的解决的办法,,与大家一起学习,一起进步!!作者: yuandjing 时间: 2007-8-1 17:40
树形结构我没有测过,楼下的帮忙作者: wuyuzimu 时间: 2007-8-1 17:49
帮楼主顶贴,我还是新手,不知道怎么解决作者: jackymail 时间: 2007-8-1 18:09 标题: 把href的描述加上 应该就能识别的,同样的名字对对应的href肯定不一样。作者: wonder 时间: 2007-8-1 18:11
I do not know what type of your object lies, Windows or IE?
Here is a VB function "Expand" you can use for treeview.
If your path like总部>华南区>深圳公司>销售部 is single, this function can expand tree step by step .
and finally, use object.select to choose your final object.作者: danmy 时间: 2007-8-1 22:29
关注中,我有同样的需求哈,呵呵。而且还发现有时会有对象识别错误,比如webelement("innertext:=D栏目","index:=1").click,点击在"innertext:=栏目"的Webelement上了作者: ppent 时间: 2007-8-2 11:17
树状结构的对象识别问题确实比较麻烦,我现在也没找到好方法,但用index来识别不太好,因为index也可能会变动的。
在qtp的对象识别中,好像并没有按照层次关系的,而是整个树中的内容都放在同一层的,这样造成了识别上的麻烦。
wonder朋友说得Expand方法没用过,试一试。
jackymail说得href属性好像没有,用innerhtml、outerhtml行不行?
希望有经验的朋友也来聊聊。作者: ppent 时间: 2007-8-2 11:45
例如有这样一颗树,如何点击每个节点前面的+号,展开对应的节点?
对于每个+号来说,除了index之外,其属性是完全一样的。作者: xueqinzhaoqing 时间: 2007-8-2 13:18
我也遇到这样的问题了,还是希望高手们都来解答这个问题。希望都能关注此帖作者: wonder 时间: 2007-8-2 13:23 标题: Here is a function for your reference, Here is a function for your reference, hope this will be helpful:
Public Sub OptionalExpandSelect (obj, TreePath)
If Trim(TreePath) <> "" Then
PathArray = Split(TreePath, "->", -1, 1)
TempPath = PathArray(0)
For i = 1 to UBOUND(PathArray)
obj.Expand TempPath
TempPath = TempPath & "->" & PathArray(i)
Next
obj.Select TreePath
End If
End Sub作者: jackymail 时间: 2007-8-2 13:50 标题: 你这个题目可以明确地告诉你,无解 给你解释一下原因:
QTP在识别对象的时候是先是别父类对象,然后识别子类对象,你的销售部作为子类,无论广州分公司还是深圳分公司,他们其实和整个华南区,乃至总部都是并列的,也就是说它们之间没有父子关系。你的总部下面的任何一个名字重复,qtp都无法识别(用描述性编程的方式)