51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4261|回复: 7
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-16 21:48:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的需求是这样的:定义一个变量a,作为预期值,然后使用qtp的output checkpoint输出一个值,赋给吧。然后让a和b比较,如果a=b则通过。但是在qtp每次回复是b值都会依照一定的规则变化。所以a要使用正则表达式。请问怎么对一个自定义的变量参数化?
dim a
a= 12345     ‘怎么对12345使用正则表达式?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-17 08:44:35 | 只看该作者
output是output ,checkpoint是checkpoint,两者不一样的.楼主想问哪个?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-17 09:36:17 | 只看该作者

回复 #1 yhzmw 的帖子

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

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-5-19 23:09:44 | 只看该作者
回风过无息: 想问output
请问楼上的:怎么设置b是否符合需要的规则?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-5-20 22:07:37 | 只看该作者
你这个问题不好回答。如b的预期值是 5位数字,就用[0-9][0-9][0-9][0-9][0-9],如果是一个字母就用[a-z]如果是字母或者数字就用[0-9]|[a-z],,,,

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

使用道具 举报

该用户从未签到

6#
发表于 2007-5-20 23:00:56 | 只看该作者

回复 #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.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-10-27 16:40:23 | 只看该作者
good.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-10-19 13:42:28 | 只看该作者
对哦!六楼分析得很正确的啊...
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 06:54 , Processed in 0.067357 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表