戒情人 发表于 2009-9-23 15:57:31

这段中文用正则表达式怎么表示?

想把这个WebElement的innertext用正则表达式表示,因为具体的表示内容可能不一样,但是只要意思对就行,但是我这样做是错的,大家看看该怎样表示?

[ 本帖最后由 戒情人 于 2009-9-23 16:01 编辑 ]

戒情人 发表于 2009-9-23 16:09:55

这样做为什么不对

这样为什么不对呢?朋友们指导一 下

testlab 发表于 2009-9-23 16:43:08

对于innertext的问题,不明白你为什么需要正则,你既然都不看这个属性,那干脆去掉就行了
* 表示匹配前一个字符0次或多次

戒情人 发表于 2009-9-23 16:54:32

我就是要用innertext这个属性

呵呵,楼上的朋友我就是用要innertext这个属性,可能是我没表达明白我为什么要这样做,而只是说我要怎样做。这是一个提示信息中的文字描述信息,表明消息已经重复了,但是我们都明白,其实只要表明消息已经重复这个意思就行了。具体的提示信息描述没那么严格。所以我现在的意思是只要信息描述中有“消息”这两个字就行,其他的文字描述不做限制,我这样说你明白了吗?

testlab 发表于 2009-9-23 17:01:31

"."匹配换行符以外的任何字符。
"*" 表示匹配前一个字符0次或多次
.*

[ 本帖最后由 testlab 于 2009-9-23 17:03 编辑 ]

戒情人 发表于 2009-9-23 17:07:04

具体怎么写啊

原帖由 testlab 于 2009-9-23 17:01 发表 http://bbs.51testing.com/images/common/back.gif
"."匹配换行符以外的任何字符。
"*" 表示匹配前一个字符0次或多次
.*

具体怎么写,帮忙指导一下?是".消息."吗?

kevin_swpi 发表于 2009-9-23 17:07:25

我提供一个思路
因为我直接抛弃了对象库用的描述性编程

所以 你可以取出这个值,比如
dim getValue = ...getroproperty("innertext")

QTP_RegExpCheck "已存在",getValue

然后你写个函数来比较
Function QTP_RegExpCheck(patrn,getValue)
Dim regEx, Match, Matches   
Set regEx = New RegExp   
regEx.Pattern = patrn   
regEx.IgnoreCase = True    '根据实际情况 你可以不用这个大小写区分
regEx.Global = True      
Set Matches = regEx.Execute(inValue)   
    If Matches.Count >= 1 Then
       QTP_RegExpCheck = True'这里根据实际情况你来处理就是了
Else
       QTP_RegExpCheck = False
End If
End Function

kevin_swpi 发表于 2009-9-23 17:08:51

:lol
当然 直接在对象里面设置应该更加快捷 简便
但是因为我没有用对象库,所以稍微绕了点
欢迎拍砖呵呵

testlab 发表于 2009-9-23 17:11:55

论坛BUG?
hsjzfling的帖子怎么没了

6# 大 中 小 发表于 2009-9-23 17:06只看该作者
.表示任意一个字符,*是与在它前面的表达式组合的,表示0个或多个它之前的表达式,.*就可用来表示任意字符了。
.*消息.*

testlab 发表于 2009-9-23 17:14:17

回复 8# 的帖子

绕得也太远了吧
描述性编程也能用正则啊

[ 本帖最后由 testlab 于 2009-9-23 17:17 编辑 ]

戒情人 发表于 2009-9-23 17:17:01

原帖由 kevin_swpi 于 2009-9-23 17:08 发表 http://bbs.51testing.com/images/common/back.gif
:lol
当然 直接在对象里面设置应该更加快捷 简便
但是因为我没有用对象库,所以稍微绕了点
欢迎拍砖呵呵

呵呵,楼上的朋友,非常感谢你,你的方法我试一下
页: [1]
查看完整版本: 这段中文用正则表达式怎么表示?