51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4773|回复: 15
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-27 17:42:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
extern char a[2]={1,2,3};
在WR脚本里定义数组,检查后提示语法错误;
这样为什么不对?该如何定义呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-27 20:08:44 | 只看该作者
顶 下下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-6-27 21:52:31 | 只看该作者
lz可以这样定义 public a[]={1,2,3};
public说明变量在本脚本中,且数组不用写有多少元素
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 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次。
郁闷鸟啊,为什么数组的值读不出来呢?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-6-29 09:45:18 | 只看该作者
数组中存放的数据不是读不出来,而是都读取成了0。
给数组赋值时使用字符型,如:public a[]={"0","0.0","0.00"};
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-6-29 10:45:36 | 只看该作者
原帖由 lsy325 于 2007-6-29 09:45 发表
数组中存放的数据不是读不出来,而是都读取成了0。
给数组赋值时使用字符型,如:public a[]={"0","0.0","0.00"};


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

还有解决办法么?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-6-29 11:02:27 | 只看该作者
那这里是不是要定义字符串数组呢?
望高人指点啊……
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-6-29 12:13:19 | 只看该作者
你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a[1]="aa";
report_msg(a[1]);
像这段代码,输出的是“aa”。
把a[1]="aa";删除后,再次执行,输出的仍是“aa”,只有把WinRunner关闭后再打开,执行删除过a[1]="aa";的脚本,输出的才会是“0.0”
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-6-29 14:07:13 | 只看该作者
原帖由 lsy325 于 2007-6-29 12:13 发表
你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a[1]="aa";
report_msg(a[1]);
像这段代码,输出的是“aa”。
...


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

感谢感谢啊!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-6-29 17:25:19 | 只看该作者
路过
学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-7-1 17:46:48 | 只看该作者
支持热心人
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

13#
发表于 2008-2-27 17:59:12 | 只看该作者

回复 1# 的帖子

TSL的数组是不能指定大小的
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-2-27 18:20:11 | 只看该作者
原帖由 lsy325 于 2007-6-29 12:13 发表
你修改完代码后,关闭WinRunner,再打开试一试。
不知是对数组的运用不太清楚,还是WinRunner存在的问题。
public a[]={"0","0.0","0.00"};
a[1]="aa";
report_msg(a[1]);
像这段代码,输出的是“aa”。
把a[1 ...


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

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

使用道具 举报

该用户从未签到

15#
发表于 2008-3-5 13:27:03 | 只看该作者

回复 14# 的帖子

这位才是高高手
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-3-11 09:23:41 | 只看该作者
果然有高手
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 00:34 , Processed in 0.082444 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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