C语言与Loadrunner
C语言和Loadrunner之间的联系:
LR支持多种协议,对于不同的协议,脚本使用的编程语言也有所不一样,目前LR脚本几乎支持所有主流语言,比如C语言、java、VB、.NET;web(http/html)协议默认使用的C语言。
在脚本保存目录中,我们可以看到有许多C语言的文件。

Action介绍
就是一个函数包,将用户操作根据类型存放在不同的函数中,当脚本生成的时候,会在对应的目录下生成vuser_init.c,vuser.c、vuser_end.c 3个action,每个action是一组功能的集合,默认的action包含独立的3个函数为vuser_init(), vuser_action(),vuser_end()。
action函数结尾处都有一个return 0的命令,这是用来退出整个函数的。Return0说明该函数正常的结束。
Loadrunner脚本语言的架构:
Vuser_init 函数:
一般将用户初始化的操作放在里面,如登录操作等。
Action 函数:
是虚拟用户要做的业务。用户的业务操作,也就是测试内容的主体
Vuser_end 函数:
与Vuser——init相对应,Vuser_end做收尾工作。
通过运行接过可以想象LR的实现是如下图:

Loadroadrunner数据类型

表达式:
#define 定义常量
表达式语句
表达式语句由表达式加上分号“;”组成

函数的调用:
函数的调用语句
函数的调用语句由函数名,实际参数加上分号“;”组成。

条件语句:
if条件判断句



switch条件语句

Do While循环语句,至少要循环一次

While循环语句

For循环语句

字符串:
C语言里没有字符串类型的数据,可以用字符数组来表示一个字符串。
例如 char test[]=“abcdefg”;

头文件
头文件globals.h 分析头文件globals.h 分析


全局变量和局部变量

脚本的调试对于脚本的编写非常重要
断点设置技术是脚本开发中最重要的开发技术
当预期结果与实际结果不一致时,可以在怀疑有问题的代码前插入断点,当程序运行到断点的时候,就会停下来,这时候可以通过日志,定位问题。
设置断点的三种方式
点击右键选Toggle Breakpoint 或者点击菜单栏的[insert]> [ToggleBreakpoint] 或者按F9 设置断点。
单步跟踪
每执行一条语句,程序就会停下来,可以结合日志分析脚本。可以通过F10 ,或者[Vuser]>[run step by step] 进行单步跟踪,每按一次F10 ,脚本就会执行一行。