分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
在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 notunique
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 theWinList
RegisterUserFunc "WinList","Select", "SelectRegExp"
' Or add the SelectRegExp function to theWinList object
RegisterUserFunc "WinList","SelectRegExp", "SelectRegExp"
RegisterUserFunc "WinList","SelectItems", "SelectItems"
' Example of usage:
WinList("mylist").Select"2002.*"
WinList("mylist").SelectItemsArray("item1", "item3", "item6")