上节我们说了VBS的RegExp对象.下面我们结合实例来看看如何使用此对象
WinList,WinComboBox,WebList这些对象QTP都是有直接的方法可以直接选择的,但是我们多余一点说一下怎么来用正则去操作这些对象.
实例如下:
对象:WebList.
选项:name1
name2
name3
.......
复制代码
对于winlist这个对象的SelectRegExp方法已经写完了.然后我们需要注册这个方法请看以下api
RegisterUserFunc "WebList","Select","SelectRegExp"
Browser("title:=石家庄市区域卫生信息平台").Page("title:=石家庄市区域卫生信息平台").WebList("title:=test").SelectRegExp("name\d")
UnRegisterUserFunc "WebList","Select" 会将该Method返回到原始状态
或则
SelectRegExp(Browser("title:=石家庄市区域卫生信息平台").Page("title:=石家庄市区域卫生信息平台").WebList("title:=test"),"name\d")
好了.到此已经介绍完正则表达式。在介绍表达式中还穿插的有一些QTP的小技巧.欢迎大家来到 www.51autotest.com.让我们为技术干杯.
WinList,WinComboBox,WebList这些对象QTP都是有直接的方法可以直接选择的,但是我们多余一点说一下怎么来用正则去操作这些对象.
实例如下:
对象:WebList.
选项:name1
name2
name3
.......
- Function SelectRegExp(Obj,patrn)
- Dim numOfItems,i,CurrentValue,regEx,ItemToSelect,oldFilter
- Set regEx = New RegExp
- regEx.Pattern = patrn
- regEx.IgnoreCase = False
- oldFilter = Reporter.Filter
- Reporter.Filter = 2
- ItemToSelect = -1
- NumOfItems = obj.GetRoProperty("items count")
- for i=1 to NumOfItems
- CurrentValue = Obj.GetItem(i) ‘注释1
- If regEx.Test(CurrentValue) Then
- If(ItemToSelect<>-1) then
- SelectRegExp =-1 '项不唯一
- Reporter.Filter = oldFilter
- Exit Function
- End If
- ItemToSelect = i
- End If
- Next
- Reporter.Filter = oldFilter
- If(ItemToSelect>=0) Then
- SelectRegExp = obj.Select(ItemToSelect - 1) ‘注释2
- Else
- SelectRegExp = -1
- End If
- End Function
- '注释1跟注释2不一样的地方,就是下标的表示上,说明了GetItem这个方法的下标是从1开始的,而Select方法的下标是从0开始的,所以在 Select方法处我用了原来的坐标-1来作为下标
RegisterUserFunc "WebList","Select","SelectRegExp"
Browser("title:=石家庄市区域卫生信息平台").Page("title:=石家庄市区域卫生信息平台").WebList("title:=test").SelectRegExp("name\d")
UnRegisterUserFunc "WebList","Select" 会将该Method返回到原始状态
或则
SelectRegExp(Browser("title:=石家庄市区域卫生信息平台").Page("title:=石家庄市区域卫生信息平台").WebList("title:=test"),"name\d")
好了.到此已经介绍完正则表达式。在介绍表达式中还穿插的有一些QTP的小技巧.欢迎大家来到 www.51autotest.com.让我们为技术干杯.