正则表达式三

上节我们说了VBS的RegExp对象.下面我们结合实例来看看如何使用此对象
WinList,WinComboBox,WebList这些对象QTP都是有直接的方法可以直接选择的,但是我们多余一点说一下怎么来用正则去操作这些对象.
实例如下:
对象:WebList.
选项:name1
name2
name3
.......
  1. Function SelectRegExp(Obj,patrn)

  2. Dim numOfItems,i,CurrentValue,regEx,ItemToSelect,oldFilter

  3. Set regEx = New RegExp

  4. regEx.Pattern = patrn

  5. regEx.IgnoreCase = False

  6. oldFilter = Reporter.Filter

  7. Reporter.Filter = 2

  8. ItemToSelect = -1



  9. NumOfItems = obj.GetRoProperty("items count")

  10. for i=1 to NumOfItems

  11. CurrentValue = Obj.GetItem(i) ‘注释1

  12. If regEx.Test(CurrentValue) Then

  13. If(ItemToSelect<>-1) then

  14. SelectRegExp =-1 '项不唯一

  15. Reporter.Filter = oldFilter

  16. Exit Function

  17. End If

  18. ItemToSelect = i

  19. End If

  20. Next

  21. Reporter.Filter = oldFilter

  22. If(ItemToSelect>=0) Then

  23. SelectRegExp = obj.Select(ItemToSelect - 1) ‘注释2

  24. Else

  25. SelectRegExp = -1

  26. End If

  27. End Function
  28. '注释1跟注释2不一样的地方,就是下标的表示上,说明了GetItem这个方法的下标是从1开始的,而Select方法的下标是从0开始的,所以在 Select方法处我用了原来的坐标-1来作为下标
复制代码
对于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.让我们为技术干杯.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值