shiwanli 发表于 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 编辑 ]

ilovejolly 发表于 2007-6-25 11:23:43

1 "Text=G19"只是一个字符串,你自己定义一个变量就行了,简单的字符串连接。
2天知道你是怎么配置和读取的。
3特殊字符需要转义,和vb一样的。

j-r-j 发表于 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的值是一个数字
请教了,谢谢。

sumagon 发表于 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")
可以试下。

j-r-j 发表于 2007-8-24 11:21:17

谢谢sumagon,我按照你提供的方法写了一个,运行还是提示1004(sqaNoPropertySpecified);
不过我直接写成HTMLLink Click,"Type=HTMLLink;HTMLText=推荐;Index="&x,"",没有把x转换类型,运行就正常了。很奇怪

sumagon 发表于 2007-8-24 14:44:54

其实最关键的是最后拼出来的语句是Type=HTMLLink;HTMLText=推荐;Index=1这种形式,可以设置一个字符串,将拼出来的语句写出来看下就可以了,可能转换后变成index="1"了,而不转换是index=1,所以就可以了。

j-r-j 发表于 2007-8-31 17:30:11

好像明白了,不过我发现应用变量时,在SQAGetproperty中好像有点问题。
比如:result=SQAGetproperty("Type=HTMLLink;HTMLId="&hid,"","innerText",x) 这句话中运行会提示: Too many arguments to function 'SQAGetProperty';hid、x都是变量;我应该怎么修改呢?

sumagon 发表于 2007-8-31 17:51:51

result=SQAGetproperty("Type=HTMLLink;HTMLId="&hid,"","innerText",x)
SQAGetproperty只带三个参数,中间第二个""中是空的,按你的写法有四个参数,当然会提示参数过多了,去掉""应该就可以了

uttipy 发表于 2007-9-1 00:17:56

注意到你是使用了ObjectIndex 这个属性,一般情况下对于HTML的对象,这个值经常会变化。一定要注意。

j-r-j 发表于 2007-9-3 12:03:14

谢谢两位,搞定了:)
页: [1]
查看完整版本: 如何将脚本中的部分参数化?????