簡體   English   中英

在UFT中的javatree中查找子節點的文本

[英]Find text of a childnode in a javatree in UFT

我正在嘗試獲取javatree的子節點的文本/標簽,而不是索引。

我如何在UFT中做到這一點?

我的Java樹如下 在此處輸入圖片說明

我嘗試過的代碼:

Dim itemsCount
Dim nodeName
Dim myText
Dim selectItem()
Dim ProgramName
ProgramName = "17030-3 Parameter, programming"

itemsCount = CInt(WpfWindow("Tech Tool").JavaWindow("Program_ECU").JavaTree("Program_Control_Unit").GetROProperty("items count"))
Redim selectItem(itemsCount)
Set objItem = WpfWindow("Tech Tool").JavaWindow("Program_ECU").JavaTree("Program_Control_Unit").Object

For i = 0 To itemsCount-1
    'selectItem(i)=WpfWindow("Tech Tool").JavaWindow("Program_ECU").JavaTree("Program_Control_Unit").GetItem(i)
    selectItem(i)=WpfWindow("Tech Tool").JavaWindow("Program_ECU").JavaTree("Program_Control_Unit").Select ("#0;#"&i)

    If Trim(CStr(ProgramName)) = Trim(CStr(objItem.getItem(i))) Then
    objItem.Select(i)
    msgbox "Success"
    End If
Next

我也嘗試使用.GetColumnValue("#0;#1")但這也沒有用

在UFT中遍歷JTree非常復雜。 這是我必須遍歷JTree時所做的事情

Set JTree = WpfWindow("Tech Tool").JavaWindow("Program_ECU").JavaTree("Program_Control_Unit").Object

'return how many nodes there are in the tree irrespective of their level
MsgBox JTree.getRowCount

Set JModel = JTree.getModel 'get jtree data model
Set JRoot = JModel.getRoot 'get root so that we can traverse the tree
Call JTreeWalk(JModel, JRoot)

'recursively traverse the jtree
Sub JTreeWalk(JModel, objNode)
    ctr = JModel.getChildCount(objNode)
    For i = 0 To ctr - 1
      Set objChild = JModel.getChild(objNode, i)
      If JModel.isLeaf(objChild) Then
        Print vbTab & objChild.toString
      Else
        Print "~~ " & objChild.toString & " ~~"
      End If
      Call JTreeWalk(JModel, objChild)
     Next
End Sub

有用的鏈接

  1. https://docs.oracle.com/javase/tutorial/uiswing/components/tree.html
  2. http://www.rgagnon.com/javadetails/java-0313.html (我使用了此Java代碼並將其轉換為vbs)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM