每周工作日更新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:

 

评分:0

我来说两句

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 28325
  • 日志数: 59
  • 建立时间: 2011-06-17
  • 更新时间: 2012-09-18

RSS订阅

Open Toolbar