|
呵呵,JavaTree,很麻烦的,有你苦头吃!我都写了好多脚本来处理JavaTree。
本来JavaTree的tree content属性里包含各节点的名称路径的,可以由此得到节点名,
但是JavaTree一般经过开发封装了,节点名无法直接得到,QTP查询到的tree content只有数字路径。
所以只能通过JavaTree的自身接口,象开发人员一样来访问树对象和节点对象。
自身接口原理,你可以看我的文章《QTP识别和操作对象的原理》[url]http://bbs.51testing.com/thread-87074-1-1.html [/url]
我给你提供一些基础脚本,你可以试试用这些脚本来实现你的需求。
可能树的封装不一样,下面的方法还是无法得到节点名的话,那你找你们开发,然后用他们的自身接口来实现。
'取得treeModel对象和根节点对象
Set treeModel = treeObject.object.getModel()
set roottNode = treeModel.getRoot()
'得到子孙节点的方法
childCount = CInt(treeModel.getChildCount(curParentNode))
For childIndex = 0 to childCount-1
Set childNode = treeModel.getChild(curParentNode, childIndex)
Next
'判断树的类别
toolkitClass = treeObject.GetROProperty("toolkit class")
If InStr(toolkitClass, "IlpTree") > 0 Then
treeType = "IlpTree"
ElseIf InStr(toolkitClass, "UTreeView$UExplorerTree") > 0 Then
treeType = "ExplorerTree"
Else
treeType = "JTree"
End If
'根据树的类别,得到节点的名称
If treeType ="IlpTree" Then
childNodeName = childNode.getIlpObject().getLabel()
ElseIf treeType="ExplorerTree" Then
childNodeName = childNode.getNode.getDisplayName()
Else
childNodeName = childNode.getUserObject().toString()
End If
[ 本帖最后由 yabest 于 2007-9-4 10:56 编辑 ] |
|