0

我需要在 WpfTable 中间执行右键单击,然后出现 WpfMenu,我想从中选择一个特定的选项。有关更多详细信息,请参阅屏幕截图:-

在此处输入图像描述

这是我正在尝试的代码:-

Function IncidentCancellAllActions()
    Dim Rowcnt
    Rowcnt = SwfWindow("VisionCommandClient").SwfObject("VisionCC_Incident_ActionsTab_SWO").WpfWindow("VisionCC_Incident_ActionsTab_WpfWin").WpfTable("VisionCC_Incident_ActionsTab_WpfTable").RowCount
    If Rowcnt > 0 Then
        SwfWindow("VisionCommandClient").SwfObject("VisionCC_Incident_ActionsTab_SWO").WpfWindow("VisionCC_Incident_ActionsTab_WpfWin").WpfTable("VisionCC_Incident_ActionsTab_WpfTable").ActivateCell
        SendFromKeyboard("1-SHFT-F10")
        wait 5
        'SwfWindow("VisionCommandClient").WpfWindow("VisionCC_ResourceStatusList_WpfWin_2").WpfMenu("VisionCC_Action_WPM").Select "Cancel All"
        msgbox SwfWindow("VisionCommandClient").WpfWindow("VisionCC_ResourceStatusList_WpfWin_2").WpfMenu("VisionCC_Action_WPM").ShowContextMenu
        SwfWindow("VisionCommandClient").WpfWindow("VisionCC_ResourceStatusList_WpfWin_2").WpfMenu("VisionCC_Action_WPM").Select "Cancel All"
        wait 2
    Else
    Exit Function
    End If  
End Function

右键单击后,它没有单击 WpfMenu 选项“全部取消”。

4

1 回答 1

0

有这个问题,目前正在使用 '.Type' 方法解决这个问题:

WpfWindow("MyWindow").WpfButton("Item-Menu").ShowContextMenu
WpfWindow("MyWindow").WpfMenu("List-Menu").Exist(1)
menuItems = WpfWindow("MyWindow").WpfMenu("List-Menu").GetVisibleText
menuItems = replace(menuItems, chr(13),"")
for each menuItem in split(menuItems,chr(10))
    WpfWindow("SAP Work Manager").WpfMenu("List-Menu").Type micDwn
    Wait 0,400 
    If instr(1, menuItem, "MenuItemToClick") > 0 Then 'replace MenuItemToClick with the menu item text.
        Exit for
    End If
next
WpfWindow("SAP Work Manager").WpfMenu("List-Menu").Type micReturn 

只要菜单项的顺序没有改变,这就会起作用。包含等待是因为我注意到 HP-UFT 在执行下一个任务之前不会检查对象是否已完全加载。

于 2017-09-14T05:30:27.477 回答