51Testing软件测试论坛

标题: QTP正则匹配问题 [打印本页]

作者: qiqin    时间: 2010-10-18 13:34
标题: QTP正则匹配问题
请大家帮忙看行脚本:If Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")="日平均成交人数"&"(\d+,)*(\d+)" 我要验证确定这块有数据出来,但是正则匹配出来的结果始终都是失败,大家帮忙看看有什么问题?
作者: skyzhu    时间: 2010-10-18 14:59
等于号是正则吗  。。。
作者: hanjj    时间: 2010-10-18 15:57
给个截图.先.
作者: qiqin    时间: 2010-10-18 16:01
不是 ,正则只是等于号后面这块
作者: qiqin    时间: 2010-10-18 16:03
回复 3# hanjj


    什么截图?
作者: hanjj    时间: 2010-10-18 16:30
"(\d+,)*(\d+)"好像写的不太正确吧
作者: qiqin    时间: 2010-10-18 18:54
回复 6# hanjj


    那应该怎么写呢
作者: TIB    时间: 2010-10-18 20:19
关于VBScript的正则表达式的用法,可以参考QTP帮助文档,下面是一个例子:
Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Create variable.
   Set regEx = New RegExp   ' Create a regular expression.
   regEx.Pattern = patrn   ' Set pattern.
   regEx.IgnoreCase = True   ' Set case insensitivity.
   regEx.Global = True   ' Set global applicability.
   Set Matches = regEx.Execute(strng)   ' Execute search.
   For Each Match in Matches   ' Iterate Matches collection.
      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"))
作者: hsjzfling    时间: 2010-10-19 10:57
msgbox "1"="\d"
这样就能知道LZ的写法是不是合乎规则的了。
正则是不能用在 = 判断的表达式中的
作者: walker1020    时间: 2010-10-19 13:15
楼主 可以这样写:

If InStr(Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext"),"日平均成交人数")> 0
作者: walker1020    时间: 2010-10-19 13:18
这样 应该就可以解决你的问题了。 如果还不行,那么 使用
Print Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")
看看到底取得的值是什么




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