理解LoadRunner中的局部变量和全局变量

发表于:2010-5-11 15:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:fish_yy    来源:精通软件性能测试与LoadRunner实战

  在C语言中,变量有效性的范围称变量的作用域。不仅对于形参变量,C语言中所有的量都有自己的作用域,按作用域范围不同,可分为局部变量和全局变量两种变量类型。

  在LoadRunner中应用全局变量和局部变量的示例脚本如下:

LoadRunner中的局部变量和全局变量

图4.9 LoadRunner 9.5 Web(HTTP/HTML)协议脚本代码截图

  上面代码是在LoadRunner 9.5中编写完成,请参见图4.9左侧,其包含一个文件名称为“globals.h”,您可以在该头文件中定义全局变量,这里我们定义了一个全局整型变量,它的名称为“icount”,初始值为10,请参见globals.h头文件内容:

#ifndef _GLOBALS_H
#define _GLOBALS_H
 
//--------------------------------------------------------------------
// Include Files
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
 
//--------------------------------------------------------------------
// Global Variables
 
int icount=10;//全局变量
 
#endif // _GLOBALS_H

  Action部分代码如下:

int a=8,b=15;     /*a,b为全局变量*/
 
int max(int a,int b) /*a,b为局部变量*/
{
       return a>b?a:b ;
}
 
int incb()
{
       ++b;
       lr_output_message("incb()函数中的a=%d,b=%d",a,b);
}
 
Action()
{
       int a=10;//局部变量
       lr_output_message("a=%d,b=%d",a,b);
       incb();
       lr_output_message("a=%d,b=%d",a,b);
       lr_output_message("max(%d,%d)=%d",a,b,max(a,b));
       lr_output_message("globals.h中的全局变量icount=%d", icount);
       return 0;
}

  在Action部分,起始声明了两个整型全局变量,a并赋予初值8,b赋予初值15。接下来,声明了两个整型数比较函数max(),在max()函数中,有两个整型参数,a和b。incb()函数,实现了对全局变量加一,而后,输出全局变量a和b。Action()中,先声明了局部变量a,并赋初值为10,接下来,输出局部变量a和全局变量b,又通过调用incb()函数对全局变量b进行加一,同事输出a和b。这里先给大家提一个问题,就是此时a的值应该输出的是全局变量a还是局部变量a的值?请读者朋友们认真考虑一下。后续还输出max(a,b),这里同样存在上面的问题,最后输出“globals.h”文件中的全局变量icount的值。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号