51Testing软件测试论坛

标题: 描述性编程,属性值与正则表达式冲突,如何解决? [打印本页]

作者: windangle    时间: 2009-2-15 12:41
标题: 描述性编程,属性值与正则表达式冲突,如何解决?
Browser和page的title值都是会变化的,只有前面的“百度搜索”不变,所以用正则表达式表示
Link的name的值通过一些方法得到,存放在变量a中
点击此Link的语句如下:
Browser("name:=百度搜索.*").page("title:=百度搜索.*").Link("name:=" & a).click
目前的情况是,变量a中的值,有时包含有正则表达式所用的符号,会导致Link无法被找到
请问是否有可以设置让Link("name:=" & a)这一部分语句不进行正则表达式匹配呢?
作者: dreamever    时间: 2009-2-15 22:49
没写过qtp下的描述性编程,但是我想最后执行的时候,qtp的编译器也是把"name:="&a合并成一句,也就是说需要看看把变量里的内容代入name:=&中,看是不是会有错误.
虽然没写过,但是应该可以确定,描述性编程与正则表达式是不冲突的.
作者: ppent    时间: 2009-2-16 11:52
检查变量a中的内容,有正则符号时自动加上转义符
作者: manhong    时间: 2009-2-16 13:38
转义符 \
作者: jifeng    时间: 2009-2-16 16:19
Browser用creationTime属性,Page用index属性,Link考虑用其他属性或多个属性
作者: windangle    时间: 2009-2-16 22:16
目前的情况是,a的值是从网页中读取的,网页中的数据是随即的,有的时候可能包含一些符号,导致描述的目标识别不到。
例如有一个页面链接的名字“鹰击长空 下载| PChome 下载中心”,a取到这个值时,Link就不能正确识别到了。
目前我知道可以用Description的方法来进行描述来解决,但是要多写点代码。想知道有没有可以直接让Browser("name:=百度搜索.*").page("title:=百度搜索.*").Link("name:=" & a).click中的Link("name:=" & a)部分不做正则表达识别。
作者: asoqa    时间: 2009-2-17 09:40
set MyDesc = Description.Create()
MyDesc("name").Value = a
MyDesc("name").RegularExpression = False
Browser("name:=百度搜索.*").page("title:=百度搜索.*").Link(MyDesc).click

[ 本帖最后由 asoqa 于 2009-2-17 09:43 编辑 ]
作者: onlonely    时间: 2009-3-24 21:19
原帖由 asoqa 于 2009-2-17 09:40 发表
set MyDesc = Description.Create()
MyDesc("name").Value = a
MyDesc("name").RegularExpression = False
Browser("name:=百度搜索.*").page("title:=百度搜索.*").Link(MyDesc).click


这个办法比较稳妥.
当然如果变量里面的内容不算复杂的话.就修改变量内容
其中
"[]"
"/\"
等正则表达式需要使用的符号用"\"转译下




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