正则表达式在QTP中使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QTP中可以使用正则表达式的地方:
1、对象识别时的属性值
2、Checkpoint的验证值
3、字符串查找时
4、描述性编程
具体来说就是所有用到字符串查找和匹配的地方都能用。
而QTP主要就2个功能:识别,验证;还有就是用户自定义操作。
下面说一下上述3种情况的操作和应用。
1、对象的属性值使用正则表达式匹配
1。
打开对象库-》选择对象库中的某个对象-》选择右边的某个属性值-》点击属性值后面的<#>按钮-》在弹出的对话框中就可以看到,使用正则表达式的checkbox。
(打钩则应用,取消则不应用),设为应用时若属性值中出现正则表达式符号则会相应的按照这个规则去匹配。
注意特殊字符的转义,不该转的不能转,转义符为\
2、Checkpoint中使用正则表达式
1。
打开对象库-》选择检查点-》选择右边需要检查的某个属性-》点击属性值后面的<#>按钮-》在弹出的对话框中就可以看到,使用正则表达式的checkbox。
当然你也可以在设置检查点时直接选择是否应用此设置
3、用户自定义字符串操作中使用正则表达式
用户自己在取得某些值后要进行判断和取值时也可以使用正则表达式,其操作的格式为: Function RegExpTest(patrn, strng)
Dim regEx ,match,matches ' 建立变量。
Set regEx = New RegExp ' 建立规范表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分字母的大小写。
regEx.Global = True ' 设置全程性质。
set matches= regEx.Execute(strng) ' 执行搜索。
for each match in matches ' 重复匹配集合
RetStr=RetStr &"Match found at position "
RetStr=RetStr&Match.FirstIndex&".Match Value is '"
RetStr=RetStr&Match.Value&"'."&vbCRLF
Next
RegExpTest=RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
常见用法:
1、CheckProperty "innertext",micRegExpMatch(".*" & Parameter("company")& ".*"),1,直接引用
正则表达式的隐藏对象实例:micRegExpMatch
2、创建新的对象
Set Reg=CreateObject("pareRegExp")
Reg.Initialize("t.*")
msgbox pare("test")
4、描述性编程
另外在描述性编程中的属性值的匹配也可以应用正则。
例如:
Browser("title:=百度.*").Page("title:=百度.*").WebButton("name:=百度.*").Click
此外,使用描述性编程时的属性值匹配都是默认为正则匹配的,所以如果匹配特殊字符时需要使用\来转义。