51Testing软件测试论坛

标题: 新手求助 动态对象名称参数化问题 [打印本页]

作者: rainy888    时间: 2009-3-9 16:22
标题: 新手求助 动态对象名称参数化问题
录制代码如下:
Browser("Browser").Page("Browser").Frame("main").WebEdit("copylistProduction[1].producti").Set "张三"
Browser("Browser").Page("Browser").Frame("main").WebEdit("copylistProduction[2].producti").Set "李斯"
Browser("Browser").Page("Browser").Frame("main").WebEdit("copylistProduction[3].producti").Set "王五"

命名规则是copylistProduction[0].producti,copylistProduction[1].producti依次类推,可以把对象名给参数化吗?怎么参数化?
请各位大哥大姐帮忙。
谢谢

[ 本帖最后由 rainy888 于 2009-3-13 10:04 编辑 ]
作者: testlab    时间: 2009-3-9 16:43
for i=0 to 对象数量-1
     对象.setTOProperty("name","copylistProduction["&i&"].producti")
     对象赋值
Next
作者: jadeyu712    时间: 2009-3-9 18:09
同意楼上的.当然也可以把你想设置的值参数化...
作者: zhang_yajin    时间: 2009-3-11 21:03
命名规则是copylistProduction[0].producti,copylistProduction[1].producti依次类推,可以把对象名给初始化吗?怎么初始化?
请各位大哥大姐帮忙。


不是很明白你的问题。。。。啥初始化,还是参数化啊?
作者: angelna    时间: 2009-3-11 21:12
dim fourth
fourth=datatable("num1",dtglobalsheet)

copylistProduction(fourth)

num1这个表中就存放你想要的数字
作者: rainy888    时间: 2009-3-13 10:05
标题: 回复 4# 的帖子
写错了,是参数化
作者: zhang_yajin    时间: 2009-3-20 21:21
copylistProduction(cint(datatable("num",dtglobalsheet))

在GLOBALSHEET中双击列创建NUM这个参数,然后在NUN列下填上你要的数字

(datatable("num",dtglobalsheet)):就是取出在NUM这列中的数字,由于取出来的时候是字符型的,所以还需要用CINT进行强制转化

然后用个FOR循环来取所有的值
作者: onlonely    时间: 2009-3-22 01:02
做个循环每次给sum加1
然后用:
Browser("Browser").Page("Browser").Frame("main").WebEdit("name:=copylistProduction\["&sum&"\].producti").Set "张三"
注意并仔细观察红色字体部分内容。

说明:使用描述性编程就很容易解决了。
1.绿色部分是由于描述性编程中“[]”要转译
红色部分是在其中使用变量的方法




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