topor 发表于 2009-7-7 21:48:33

如果实现描述性编程的参数化?

代码如下:
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:49

"html id:=ctl00xContentPlaceHolder1xxGrid_anc_?_1"
试下

hsjzfling 发表于 2009-7-8 09:59:55

回复 1# 的帖子

Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_“&i&"_1").Click

hsjzfling 发表于 2009-7-8 10:03:54

原帖由 lantianwei 于 2009-7-7 22:11 发表 http://bbs.51testing.com/images/common/back.gif
"html id:=ctl00xContentPlaceHolder1xxGrid_anc_?_1"
试下

不要想都不想就回复哦,VBS中是用 .来匹配任意字符,?是匹配0个或1个指定字符。。。
要匹配的话可以考虑用(\d)+来匹配

lantianwei 发表于 2009-7-8 10:16:52

回复 4# 的帖子

:loveliness: 所以我只说试下阿,在ST中是可以这样用的

topor 发表于 2009-7-8 17:59:02

原帖由 hsjzfling 于 2009-7-8 09:59 发表 http://bbs.51testing.com/images/common/back.gif
Browser("abc").Page("123").WebElement("html id:=ctl00xContentPlaceHolder1xxGrid_anc_“&i&"_1").Click
用这种方法解决了,谢谢啦~~
不过要注意中间的那个引号的问题,我开始就是因为中英文的引号问题回放失败了,改了之后就通过了...

[ 本帖最后由 topor 于 2009-7-8 18:04 编辑 ]

peterz 发表于 2009-7-8 18:03:02

原帖由 topor 于 2009-7-8 17:59 发表 http://bbs.51testing.com/images/common/back.gif

试过了这样还是不行的,提示找不到匹配的对象?
还有其他方法么?谢谢
这样肯定不行,里面的双引号要用单引号引起来吧。

topor 发表于 2009-7-8 18:05:19

原帖由 peterz 于 2009-7-8 18:03 发表 http://bbs.51testing.com/images/common/back.gif

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

呵呵,可以啦...
刚刚提示失败是因为中间那个引号,我没注意是中文还是英文的,改了之后就好了
页: [1]
查看完整版本: 如果实现描述性编程的参数化?