在QTP中自定义测试对象WinList的Select方法

QTP 中自定义测试对象 WinList Select 方法,支持正则表达式和多选,类似的思想可以扩展到其他的 list 类型的控件。

 

下面的脚本摘自 QTP CodeSamplesPlus

 

Function SelectRegExp(Obj, patrn, Button, Offset)

    dim NumOfItems, i, CurrentValue, regEx, ItemToSelect, oldFilter

    ' Initialize the regular expression object with the pattern

    Set regEx = New RegExp

    regEx.Pattern = patrn

    regEx.IgnoreCase = False

 

    oldFilter = Reporter.Filter ' save the default setting

    Reporter.Filter = 2 ' Send only errors

    ItemToSelect = -1

    ' retrieve the number of items in the list

    NumOfItems = obj.GetROProperty("items count")

    For i=0 to NumOfItems-1

        CurrentValue = obj.GetItem(i)

        If regEx.Test(CurrentValue) Then

            If (ItemToSelect <> -1) Then

                SelectRegExp = -1 ' item not unique

                Reporter.Filter = oldFilter

                Exit Function

            End If

            ItemToSelect = i

        End If

    Next

    Reporter.Filter = oldFilter ' restore the default setting

    ' The actual selection

    If (ItemToSelect >= 0) Then

        SelectRegExp = obj.Select(ItemToSelect, Button, Offset)

    Else

        SelectRegExp = -1

    End If

End Function

 

Function SelectItems(Obj, items)

    Dim idx, item

    If (StrComp(obj.GetROProperty("type"), "select-multiple", 1) = 0) Then

        For Each item In items

            obj.Select(item)

        Next

    Else

        obj.Select(items(0))

    End If

End Function

 

' Override the Select function of the WinList

RegisterUserFunc "WinList", "Select", "SelectRegExp"

 

' Or add the SelectRegExp function to the WinList object

RegisterUserFunc "WinList", "SelectRegExp", "SelectRegExp"

RegisterUserFunc "WinList", "SelectItems", "SelectItems"

 

' Example of usage:

WinList("mylist").Select "2002.*"

WinList("mylist").SelectItems Array("item1", "item3", "item6")

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值