z_kh 发表于 2009-11-11 20:03:06

正则表达式问题,头疼,求助

这段时间在用QTP做回归测试,因为是新手,比较头疼,QTP以前都没做过.这两天一直被正则表达式所折磨,本以为很简单的东西,不知道怎么就老用不对.
Dialog("XXXXX").WinButton("v. 分开,分配").Click
WinButton里的文字内容长度类型都是动态的,可能是符号,可能是字母,可能是汉字,长度也可长可短,唯一肯定的就是那个 ".",
我使用正则表达式,直接用* ,和使用 *.*这两种方法都无法匹配到内容,在运行的时候都会无法过去,
错误提示如下:
Cannot identify the object "v. 分开,分配" (of class WinButton). Verify that this object's properties match an object currently displayed in your application.
Line (54): "Dialog("XXXXX").WinButton("v. 分开,分配").Click".
不知道问题出在哪?是因为基础类是WinButton呢?还是因为正则表达式有问题?

ermine 发表于 2009-11-11 20:25:09

VBS里.是任意字符,而*是代表前面的0或N个,如果要匹配.,要用转义字符\         
匹配字符串(.*)\.(.*),(.*)
PS:在对象库中,要把winbutton属性的Regular打钩选中,匹配中文是[\u4e00-\u9fa5]*

zero0223 发表于 2009-11-12 09:01:54

用转义字符"\ "

z_kh 发表于 2009-11-12 12:25:11

原帖由 ermine 于 2009-11-11 20:25 发表 http://bbs.51testing.com/images/common/back.gif
VBS里.是任意字符,而*是代表前面的0或N个,如果要匹配.,要用转义字符\         
匹配字符串(.*)\.(.*),(.*)
PS:在对象库中,要把winbutton属性的Regular打钩选中,匹配中文是[\u4e00-\u9fa5]*
明白了,特意看了一上午的正则表达式再返回来处理,发现更痛苦了.
里面的内容有中文以及全角半角的" , . () / ",最痛苦的是这些内容,位置,长度都是动态的,可能有,可能没有, 随时出现

zero0223 发表于 2009-11-12 13:53:26

找你们开发统一一下格式

z_kh 发表于 2009-11-12 14:13:19

没的统一...
这个数据录入是早期工作了,数据有十几个亿,而且数据完全没有格式,
就算全角半角的处理了,其他的也没的处理.
问题已经解决了,正则太折腾了,window id识别对象.

绯苍信 发表于 2009-11-12 18:23:25

解决了就好 不规范折腾死人啊
页: [1]
查看完整版本: 正则表达式问题,头疼,求助