yhzmw 发表于 2007-5-16 21:48:07

在qtp中怎么对自定义的变量使用正则表达式

我的需求是这样的:定义一个变量a,作为预期值,然后使用qtp的output checkpoint输出一个值,赋给吧。然后让a和b比较,如果a=b则通过。但是在qtp每次回复是b值都会依照一定的规则变化。所以a要使用正则表达式。请问怎么对一个自定义的变量参数化?
dim a
a= 12345   ‘怎么对12345使用正则表达式?

风过无息 发表于 2007-5-17 08:44:35

output是output ,checkpoint是checkpoint,两者不一样的.楼主想问哪个?

zoeHuang 发表于 2007-5-17 09:36:17

回复 #1 yhzmw 的帖子

我觉得楼主没有必要再多出一个变量a,因为你要检测的只是b符合某一个正则表达试,所以你可以在脚本里写一个正则表达试,判断b是不是符合就可以了

yhzmw 发表于 2007-5-19 23:09:44

回风过无息: 想问output
请问楼上的:怎么设置b是否符合需要的规则?

jackymail 发表于 2007-5-20 22:07:37

你这个问题不好回答。如b的预期值是 5位数字,就用,如果是一个字母就用如果是字母或者数字就用|,,,,

如果设置变量。
就只能固定a,a=12345,a不能再用证则表达式,vbscripts里面不支持对变量使用证则表达式。或许有对b判断增则表达式的方法。不清楚。

henhenchen 发表于 2007-5-20 23:00:56

回复 #1 yhzmw 的帖子

(按我的理解,有错大家请指正) 正则表达式在QTP 的EXPERT VIEW 中不能直接用. 比如要比较X 等于AB 或CD 不能用 IF X= THEN.... 这种方式. 在KEYWORD VIEW 中为什么有时可以直接用正则表达式?.因为QTP 封装了一些正则表达式的OBJECT. 所以我们可以直接用如 BROWSER.PAGE. WEBEDIT("NAME:=").SET....等. 所以想在EXPERT VIEW 中用正则表达式就要写些CODE. 以你的例子:
Set regEx = New RegExp   ' Create a regular expression
regEx.Pattern =""' 相当你这里的 a
retVal = regEx.Test(b)      
if retVal is true then b match a patternelse b not match a.

cxwtomcat 发表于 2009-10-27 16:40:23

good.

ping207 发表于 2010-10-19 13:42:28

对哦!六楼分析得很正确的啊...
页: [1]
查看完整版本: 在qtp中怎么对自定义的变量使用正则表达式