每周工作日更新blog,qtp的方法!
12.08.23 QTP中正则表达式的使用
上一篇 /
下一篇 2012-08-23 17:23:16
/ 个人分类:EveryDayQtp
'--------------------正则表达式的运用
'--------------------用飞行网首页最下面的“备案”来做例子Copyright©2011-2012 掌上通航空服务(北京)有限公司 All Rights Reserved 京ICP备10010046-3号
'--------------------1.普通正则使用
Dim info,res
info = Browser("51690").Page("51690").WebElement("备案信息").GetROProperty("innertext") '获取备案信息中的字符串
res = regExp("\d{4}",info) '调用我们写的正则表达式函数(取任意4个连续的数字)
Function regExp(rule,str) '创建正则表达式函数,参数依次为"正则表达式" "要匹配的字符串"
Dim match,mateches,regEx '定义三个变量,依次为 “匹配的结果” “执行匹配的对象实例”
Set regEx = new RegExp '创建正则表达式对象
regEx.pattern = rule '设定正则表达式为rule(就是我们要写的正则表达式)
regEx.ignorecase = True '设置区分大小写
regEx.global = True '设置全局适用性(加上这句代码的意思就是它会找出所有的在 要匹配字符串 中符合正则表达式的 字符串)
Set matches = regEx.execute(str) '创建正则表达式匹配实例
For each match in matches '循环匹配(不加 regEx.ignorecase = True 这里是不会循环的)
regExp = match.value '将我们匹配到的字符串付给函数本身
print regExp '打印出我们匹配到的字符串
Next
End Function
'---------------------2.描述性编程中使用正则
Dim isOk
isOk = Browser("51690").Page("51690").WebElement("innertext:=Copyright©2011.*").Exist '在 := 后面可以直接写正则,比如Copyright可以用 \w{9} 代替
print isOk
'---------------------3.控件自带检查点中的正则使用
'---------------------这个方法是今天在测试群里 戈薇 用了一次我才知道,以前根本不知道,大家共同学习!
Dim isOk1
'micregexpmatch 是 checkproperty 方法自带的函数里面可以随意写正则表达式
isOk1= Browser("51690").Page("51690").WebElement("备案信息").CheckProperty("innertext",micRegExpMatch(".*掌上通航空.*"),"5")
print isOk1
******************************************
关于1.中我的某些代码注释也许写的有点不太准确,大概意思是这样,欢迎指正,因为飞行网的 Browser 和 Page的title太长了,我在对象库里把他们都改成51690了,这个相信大家都会吧!,然后就是再把最下面的“备案信息”控件加入对象库就可以运行代码了!
收藏
举报
TAG: