51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3955|回复: 9
打印 上一主题 下一主题

[Robot] 如何将脚本中的部分参数化?????

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-22 10:52:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
日前使用robot时遇到如下问题

此脚本中有一段是对一个下拉式菜单(有两个选项G17/G19)进行输入的
从数据池中读取了数据后在回放时写入,但是很奇怪
   使用这个脚本
    call sqadatapoolvalue(dp,23,omctype)
    InputKeys omctype
   在回放的时候每次都是选择的是G17,而不是数据池中设置的数值
   后来又想了一个办法录制脚本:
      call sqadatapoolvalue(dp,24,omctype)
    ComboBox Click, "Type=Form;Name=OmcrEditorForm;\;Type=GroupBox;Name=groupBox1;\;Type=ComboBox;Name=omcTypeComboBox", "Coords=204,13"
    ComboListBox Click, "ObjectIndex=0", "Text=G19"
    在这个脚本中Text=多少那选择的就是多少,
    但是我这个脚本需要使用数据池,不能将Text= 写死,必须读取数据池中的数据后才能知道具体的值是多少。
现在的问题是能不能有办法将Text= 后面的值用读取数据池中的 omctype 代替??????




另外还有一个问题。 我的数据池中有一组数据是这样的{1 3 9998 1 200 50 1 214} 但是在回放的时候每次都是输入的111 这是为什么?
还有 有组数据是开头带%X49303036的但是在回放输入时写入的数据少了% 这是为什么啊?????????????

[ 本帖最后由 shiwanli 于 2007-6-22 10:57 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-25 11:23:43 | 只看该作者
1 "Text=G19"只是一个字符串,你自己定义一个变量就行了,简单的字符串连接。
2天知道你是怎么配置和读取的。
3特殊字符需要转义,和vb一样的。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-8-22 15:45:12 | 只看该作者
请问一个为什么变量这样写时不能识别呢?
for x=2 to 10
result=SQAGetproperty("Type=HTMLLink;HTMLText=推荐;Index=&x","id","x")
msgbox result
next x
result的值总是返回1002,无效的属性对象。
改成for x=2 to 10
result=SQAGetproperty("Type=HTMLLink;HTMLText=推荐;Index=x","id","x")
msgbox result
next x
也不行。
index的值是一个数字
请教了,谢谢。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-24 09:07:27 | 只看该作者
Result=SQAGetproperty("Type=HTMLLink;HTMLText=推荐;Index=x","id","x")
应该会把Index=x直接识别成x,而不是你想要的数值,所以应该可以写成
Result=SQAGetproperty("Type=HTMLLink;HTMLText=推荐;Index="&cstr(x),"id","x")
可以试下。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-8-24 11:21:17 | 只看该作者
谢谢sumagon,我按照你提供的方法写了一个,运行还是提示1004(sqaNoPropertySpecified);
不过我直接写成HTMLLink Click,"Type=HTMLLink;HTMLText=推荐;Index="&x,"",没有把x转换类型,运行就正常了。很奇怪
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-8-24 14:44:54 | 只看该作者
其实最关键的是最后拼出来的语句是Type=HTMLLink;HTMLText=推荐;Index=1这种形式,可以设置一个字符串,将拼出来的语句写出来看下就可以了,可能转换后变成index="1"了,而不转换是index=1,所以就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-8-31 17:30:11 | 只看该作者
好像明白了,不过我发现应用变量时,在SQAGetproperty中好像有点问题。
比如:result=SQAGetproperty("Type=HTMLLink;HTMLId="&hid,"","innerText",x) 这句话中运行会提示: Too many arguments to function 'SQAGetProperty';hid、x都是变量;我应该怎么修改呢?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-31 17:51:51 | 只看该作者
result=SQAGetproperty("Type=HTMLLink;HTMLId="&hid,"","innerText",x)
SQAGetproperty只带三个参数,中间第二个""中是空的,按你的写法有四个参数,当然会提示参数过多了,去掉""应该就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-9-1 00:17:56 | 只看该作者
注意到你是使用了ObjectIndex 这个属性,一般情况下对于HTML的对象,这个值经常会变化。一定要注意。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-9-3 12:03:14 | 只看该作者
谢谢两位,搞定了:)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-28 04:28 , Processed in 0.071837 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表