51Testing软件测试论坛

标题: 如果实现描述性编程的参数化? [打印本页]

作者: topor    时间: 2009-7-7 21:48
标题: 如果实现描述性编程的参数化?
代码如下:
Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_0_1").Click
界面是一个类似表格的东西,第一行的对象html id中间都是0,第二行就变成1了,如Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_1_1").Click

我想写一个循环,加多行数据。怎么参数化中间的那个数字呢?
直接用while wend ,i来循环,Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_i_1").Click 运行过程中会报错“找不到匹配的对象”。
可能是因为这个value 是html id的一部分内容,所以不能直接这样参数化。
如果要实现我那样的想法,怎么参数化中间这个值呢?
谢谢!
作者: lantianwei    时间: 2009-7-7 22:11
"html id:=ctl00xContentPlaceHolder1xxGrid_anc_?_1"
试下
作者: hsjzfling    时间: 2009-7-8 09:59
标题: 回复 1# 的帖子
Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_“&i&"_1").Click
作者: hsjzfling    时间: 2009-7-8 10:03
原帖由 lantianwei 于 2009-7-7 22:11 发表
"html id:=ctl00xContentPlaceHolder1xxGrid_anc_?_1"
试下


不要想都不想就回复哦,VBS中是用 .  来匹配任意字符,?是匹配0个或1个指定字符。。。
要匹配的话可以考虑用(\d)+来匹配
作者: lantianwei    时间: 2009-7-8 10:16
标题: 回复 4# 的帖子
所以我只说试下阿,在ST中是可以这样用的
作者: topor    时间: 2009-7-8 17:59
原帖由 hsjzfling 于 2009-7-8 09:59 发表
Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_“&i&"_1").Click

用这种方法解决了,谢谢啦~~
不过要注意中间的那个引号的问题,我开始就是因为中英文的引号问题回放失败了,改了之后就通过了...

[ 本帖最后由 topor 于 2009-7-8 18:04 编辑 ]
作者: peterz    时间: 2009-7-8 18:03
原帖由 topor 于 2009-7-8 17:59 发表

试过了这样还是不行的,提示找不到匹配的对象?
还有其他方法么?谢谢

这样肯定不行,里面的双引号要用单引号引起来吧。
作者: topor    时间: 2009-7-8 18:05
原帖由 peterz 于 2009-7-8 18:03 发表

这样肯定不行,里面的双引号要用单引号引起来吧。


呵呵,可以啦...
刚刚提示失败是因为中间那个引号,我没注意是中文还是英文的,改了之后就好了




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