dujuanjacky 发表于 2007-6-27 17:42:06

WR高手!!!现身现身啊!——脚本中定义数组!

extern char a={1,2,3};
在WR脚本里定义数组,检查后提示语法错误;
这样为什么不对?该如何定义呢?

evensky 发表于 2007-6-27 20:08:44

顶 下下

dionysus 发表于 2007-6-27 21:52:31

lz可以这样定义 public a[]={1,2,3};
public说明变量在本脚本中,且数组不用写有多少元素

dujuanjacky 发表于 2007-6-29 08:48:43

定义是没错啦,现在脚本中读不出数组里的数据啊!
脚本如下:
我将精度值赋在数组中,用for循环选择精度值,并截取图片;
public a[]={0,0.0,0.00,0.000,0.0000,0.00000,0.000000,0.0000000,0.00000000};
for(i=0;i<9;i++)
{
        set_window ("noname (page)", 5);
        list_select_item ("精度(P):",a[i);
        obj_check_bitmap("精度(P):", "Imgi", 3);
}
现在出现的问题是:选择的数据都是0,并且正常地选了9次。
郁闷鸟啊,为什么数组的值读不出来呢?

lsy325 发表于 2007-6-29 09:45:18

数组中存放的数据不是读不出来,而是都读取成了0。
给数组赋值时使用字符型,如:public a[]={"0","0.0","0.00"};

dujuanjacky 发表于 2007-6-29 10:45:36

原帖由 lsy325 于 2007-6-29 09:45 发表 http://bbs.51testing.com/images/common/back.gif
数组中存放的数据不是读不出来,而是都读取成了0。
给数组赋值时使用字符型,如:public a[]={"0","0.0","0.00"};

采用了你的建议,可还是0啊!

还有解决办法么?

dujuanjacky 发表于 2007-6-29 11:02:27

那这里是不是要定义字符串数组呢?
望高人指点啊……

lsy325 发表于 2007-6-29 12:13:19

你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a="aa";
report_msg(a);
像这段代码,输出的是“aa”。
把a="aa";删除后,再次执行,输出的仍是“aa”,只有把WinRunner关闭后再打开,执行删除过a="aa";的脚本,输出的才会是“0.0”

dujuanjacky 发表于 2007-6-29 14:07:13

原帖由 lsy325 于 2007-6-29 12:13 发表 http://bbs.51testing.com/images/common/back.gif
你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a="aa";
report_msg(a);
像这段代码,输出的是“aa”。
...

爱死你了,呵呵……
发现你不但是个高人,而且还是个热心的高人……赞!

感谢感谢啊!

lok_198461 发表于 2007-6-29 17:25:19

路过
学习学习

noahlish 发表于 2007-7-1 17:46:48

支持热心人

dionysus 发表于 2007-7-1 22:50:54

十分感谢lsy325的回答!
记得以前使用Robot的时候也遇到过修改语句但不起作用的现象,当时是点击“编译”,让Robot重新编译一下所有语句。WR中没有很强大的语句调试和编译功能,但是可以点击Tool->Syntax Check 进行简单的语法检查,我试过,每次修改语句后运行一下这里,可以将修改的结果变过来
ps:看过一些老外写的WR语句,他们使用static定义数组较多

在水_一方 发表于 2008-2-27 17:59:12

回复 1# 的帖子

TSL的数组是不能指定大小的

fengxueren 发表于 2008-2-27 18:20:11

原帖由 lsy325 于 2007-6-29 12:13 发表 http://bbs.51testing.com/images/common/back.gif
你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a="aa";
report_msg(a);
像这段代码,输出的是“aa”。
把a

你把上面这段代码改成
public a[];
a[]={"0","0.0","0.00"};
a="aa";
report_msg(a);

在wr中,除了auto类型的变量,其他类型的变量在声明时候的赋值都只在第一次有效

mythxhg 发表于 2008-3-5 13:27:03

回复 14# 的帖子

这位才是高高手:handshake

双面人 发表于 2008-3-11 09:23:41

果然有高手
页: [1]
查看完整版本: WR高手!!!现身现身啊!——脚本中定义数组!