51Testing软件测试论坛

标题: 在qtp中怎么对自定义的变量使用正则表达式 [打印本页]

作者: yhzmw    时间: 2007-5-16 21:48
标题: 在qtp中怎么对自定义的变量使用正则表达式
我的需求是这样的:定义一个变量a,作为预期值,然后使用qtp的output checkpoint输出一个值,赋给吧。然后让a和b比较,如果a=b则通过。但是在qtp每次回复是b值都会依照一定的规则变化。所以a要使用正则表达式。请问怎么对一个自定义的变量参数化?
dim a
a= 12345     ‘怎么对12345使用正则表达式?
作者: 风过无息    时间: 2007-5-17 08:44
output是output ,checkpoint是checkpoint,两者不一样的.楼主想问哪个?
作者: zoeHuang    时间: 2007-5-17 09:36
标题: 回复 #1 yhzmw 的帖子
我觉得楼主没有必要再多出一个变量a,因为你要检测的只是b符合某一个正则表达试,所以你可以在脚本里写一个正则表达试,判断b是不是符合就可以了
作者: yhzmw    时间: 2007-5-19 23:09
回风过无息: 想问output
请问楼上的:怎么设置b是否符合需要的规则?
作者: jackymail    时间: 2007-5-20 22:07
你这个问题不好回答。如b的预期值是 5位数字,就用[0-9][0-9][0-9][0-9][0-9],如果是一个字母就用[a-z]如果是字母或者数字就用[0-9]|[a-z],,,,

如果设置变量。
就只能固定a,a=12345,a不能再用证则表达式,vbscripts里面不支持对变量使用证则表达式。或许有对b判断增则表达式的方法。不清楚。
作者: henhenchen    时间: 2007-5-20 23:00
标题: 回复 #1 yhzmw 的帖子
(按我的理解,有错大家请指正) 正则表达式在QTP 的EXPERT VIEW 中不能直接用. 比如要比较X 等于AB 或CD 不能用 IF X=[A-Z][A-Z] THEN.... 这种方式. 在KEYWORD VIEW 中为什么有时可以直接用正则表达式?.因为QTP 封装了一些正则表达式的OBJECT. 所以我们可以直接用如 BROWSER.PAGE. WEBEDIT("NAME:=[A-Z][A-Z]").SET....  等. 所以想在EXPERT VIEW 中用正则表达式就要写些CODE. 以你的例子:
Set regEx = New RegExp   ' Create a regular expression
regEx.Pattern ="[0-9][0-9][0-9][0-9][0-9]"  ' 相当你这里的 a
retVal = regEx.Test(b)      
if retVal is true then b match a pattern  else b not match a.
作者: cxwtomcat    时间: 2009-10-27 16:40
good.
作者: ping207    时间: 2010-10-19 13:42
对哦!六楼分析得很正确的啊...




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2