如何在UFT中单击WpfCalendar中航班预订应用程序中的特定行

时间:2017-05-31 13:53:09

标签: vbscript qtp hp-uft

根据需要,我想从FlightsGrid图像中选择第二行,如下所示。 在Code下面应用,我将RowCount设为6,但无法点击第3行。

Set ODesc = Description.Create
oDesc("micclass").value = "WpfTable"
Set objchild = WpfWindow("HPMyFlightSampleApplication").WpfTable("Table_FlightsGrid")
objCount = objchild.rowcount
objCount(2).click

来自航班预订申请的图片:

enter image description here

3 个答案:

答案 0 :(得分:1)

WpfTable对象不是集合,它不支持索引。您是否尝试使用其SelectRow方法?

答案 1 :(得分:0)

首先,如果你能获得表的行数,为什么你在这里使用DP。 以下两行将为您提供表的行数:

Set objchild = WpfWindow("HPMyFlightSampleApplication").WpfTable("Table_FlightsGrid")
objCount = objchild.rowcount

其次,尝试使用其SelectRow方法选择所需的行。

答案 2 :(得分:0)

正如@Motti建议的那样,您可以使用SelectRow。或者如果你想更深入并想要选择特定的单元格(最终将选择整行),你可以像这样使用SelectCell

'Rows and Columns indexes are 0-based
iCols = WpfWindow("devname:=HPE MyFlight Sample Application").WpfTable("devname:=flightsDataGrid").ColumnCount
iRows = WpfWindow("devname:=HPE MyFlight Sample Application").WpfTable("devname:=flightsDataGrid").RowCount

sFlightNum = "12274 NW"

For i = 0 To iRows
    If WpfWindow("devname:=HPE MyFlight Sample Application").WpfTable("devname:=flightsDataGrid").GetCellData(i, 4) = sFlightNum Then
        WpfWindow("devname:=HPE MyFlight Sample Application").WpfTable("devname:=flightsDataGrid").SelectCell i, 4
        Exit For
    End If
Next

以下是屏幕截图:enter image description here