51Testing软件测试论坛
标题:
Loadrunner脚本内部定义变量问题,请帮助解答!
[打印本页]
作者:
dxf_michael
时间:
2009-1-7 12:34
标题:
Loadrunner脚本内部定义变量问题,请帮助解答!
在action中定义变量,就运行不了,在Action外面定义,就可以运行,请高手解答,为什么呢?
在Action内部定义变量:
Action()
{
lr_load_dll("LR_USER_DLL.dll");
int a=5;
int b=6;
int sum=0;
sum=add(a,b);
lr_message("和为%d",sum);
return 0;
}
运行输出:
Action.c (6): illegal statement termination
Action.c (6): skipping `int'
Action.c (6): undeclared identifier `a'
Action.c (7): illegal statement termination
Action.c (7): skipping `int'
Action.c (7): undeclared identifier `b'
Action.c (8): illegal statement termination
Action.c (8): skipping `int'
Action.c (8): undeclared identifier `sum'
d:\\program files\\mercury\\loadrunner\\scripts\\http\\\\combined_http.c (5): 9 errors, not writing pre_cci.ci
将变量定义移动到action外面,就可以运行,得到正确结果。
int a=5;
int b=6;
int sum=0;
Action()
{
lr_load_dll("LR_USER_DLL.dll");
sum=add(a,b);
lr_message("和为%d",sum);
return 0;
}
运行输出:
Virtual User Script started
Starting action vuser_init.
Web Turbo Replay of LoadRunner 8.1.0 for WINXP; Web build 4788 [MsgId: MMSG-27143]
Run-Time Settings file: "D:\Program Files\Mercury\LoadRunner\scripts\http\\default.cfg" [MsgId: MMSG-27141]
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action.
和为11
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.
作者:
dxf_michael
时间:
2009-1-7 12:50
咋没人回复呢,呵呵!
作者:
woxueceshi
时间:
2009-1-7 13:42
请问下上面的脚本是怎么来的呢,好象LR是用来录制脚本的,但是感觉你上面的象是自己写进去的.如果自己写的,应该怎么做呢,我也想验证下你说的那个问题,但是不知道是怎么实现的
作者:
stevenremember
时间:
2009-1-7 15:29
变量的声明一定要放在脚本的最前面
声明的语句中不要有其他的脚本代码(在lr必须这样写)
正确的例子::
Action()
{
/*变量声明*/
int a=5;
int b=6;
int sum=0;
/*变量声明*/
lr_load_dll("LR_USER_DLL.dll");
sum=add(a,b);
lr_message("和为%d",sum);
return 0;
}
作者:
qunce.liu
时间:
2009-1-7 16:08
4楼说的对。
你在Action中定义的是局部变量,只能在Action中使用,
而在Action外面定义的是全局变量,都可以使用。
不是因为LR,因为传统的C就是这样,只有后来一些其它的语言才允许在方法的任何地方定义变量。
作者:
星驰
时间:
2009-1-7 16:35
学习了!
作者:
stevenremember
时间:
2009-1-7 18:05
原来这样啊,c语言忘光了.
嗯,刚查了资料:
是C89的标准不允许在随便位置声明变量,只允许在块的开始处
C99和C++放松了限制,允许在随便位置声明变量,这个规定更合理
谢谢5楼的同学
作者:
刘顺
时间:
2009-11-3 17:57
正好需要这方面的
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2