51Testing软件测试论坛

标题: 勾选了正交表达式的复选框,对象无法识别 [打印本页]

作者: hhhsmileyangxue    时间: 2008-6-26 15:28
标题: 勾选了正交表达式的复选框,对象无法识别
遇到一奇怪问题:
在对象库里如果把outerhtml属性应用为正交表达式,则不能识别对象。取消应用正交表达式,则又可以高亮识别。其中,index始终为0,不变。(注:只是勾选了正交表达式的复选框,内容仅仅是增加了 \符号)

对象是一个Link
详细的应用正交表达式的代码为:
<A onmousedown="event\.cancelBubble= true;return false;" title=专享快乐购物!您在移动商城购买心意物品,满20元送20元话费!限本月内使用,赶 style="COLOR: #0175da" onclick=MM\.readMail\(this\.parentNode\.parentNode\.parentNode\) href="javascript:void\(0\)" name=aMailSubject1_0>专享快乐购物!您在移动商城购买心意物品,满20元送20元话费!限本月内使用,赶</A>
取消应用,则无 \符号 ,但就可以高亮识别,因为我设置了index 0
作者: 陈能技    时间: 2008-6-26 16:09
叫正则表达式的吧?

我一般比较少直接在对象库中这样来使用正则表达式,一般都使用描述性编程来对这种动态变化的对象进行描述和定位。
作者: zte_boy    时间: 2008-6-26 18:07
勾选了正则表达式,你那段属性当然没办法识别了,这个时候\符号将其后所有的字符都作为特殊字符处理了,当然是匹配不上你的属性了
作者: zte_boy    时间: 2008-6-26 18:07
你可以去看看正则表达式是如何运用的,看起来你还没理解正则表达式改如何运行
作者: hhhsmileyangxue    时间: 2008-6-27 02:06
标题: 问题解决了,但仍有疑惑
在网页测试中,</A>的特殊字符的存在,可能会出现不匹配的问题.如上面那段代码,由于</A>的存在,所以识别不了,如果我把</A>用.*代替,则是可以识别.
我不知道为什么</A>这几个特殊字符,用了正交表达式之后,QTP没有自动识别出来.难道也与正交表达式有关.....疑惑中...
作者: xiaoyaoke    时间: 2008-6-27 09:36
原帖由 陈能技 于 2008-6-26 16:09 发表
叫正则表达式的吧?

我一般比较少直接在对象库中这样来使用正则表达式,一般都使用描述性编程来对这种动态变化的对象进行描述和定位。


我一般也是这样用,比较清晰,不过在对象库中用正则表达式就比较简便,我老师总是在对象库中使用
呵呵,还有LZ,能不能称之为“正则表达式”呢?
作者: hhhsmileyangxue    时间: 2008-6-27 16:56
If  Browser("").Dialog("Microsoft Internet Explore").Static("text:=密码中包含不合法.*_~@#\$\^符号").Exist then       
        Browser("").Dialog("Microsoft Internet Explore").winButton("确定").Click
End If
上面的代码在Action里能跑通,但放到VBS里,用ExecuteFile来加载就不行了
ZZ表达式果然还是深奥。还请各位路过的高手指教两句..................
作者: jifeng    时间: 2008-6-27 17:28
很少用正则表达式




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