C语言与LoadRunner

一、LoadRunner 脚本语言的构架

Action就是一个函数包,将用户操作根据类型存放在不同的函数中,当脚本生成的时候,会在对应的目录下生成vuser_init.c,vuser.c、vuser_end.c 3个action,每个action是一组功能的集合,默认的action包含独立的3个函数为vuser_init(), vuser_action(),vuser_end()。action函数结尾处都有一个return 0的命令,这是用来退出整个函数的。Return0说明该函数正常的结束。

(1)Vuser_init 函数:

一般将用户初始化的操作放在里面,如登录操作等。

(2) Action 函数:

是虚拟用户要做的业务。用户的业务操作,也就是测试内容的主体

(3) Vuser_end 函数:

与Vuser——init相对应,Vuser_end做收尾工作。

(4)通过运行结果我们可以想象LR 的实现是这样的:

C语言与LoadRunner_第1张图片

二、表达式

#define 定义常量    eg:#define aa 100  //注意定义常量后面不跟分号,且不能放在action语句

表达式语句由表达式加上分号“;”组成

LR中数据的打印都需要进行数据格式化,且打印语句必须都是双引号“”

三、条件语句

(1)if条件判断语句

if(所满足的条件){

}else if(所满足的条件){

}else{}

(2)switch条件语句

int random;

random = rand()%3+1;  //设置1-3的随机数

switch(random){

case 1:  //当结果为1时

lr_output_message("random= %d",random);

break;  //跳出此语句

case 2:

lr_output_message("random= %d",random);

break;

default:    //其他结果自动跳出

lr_output_message("random= %d",random);

}

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

int i=1;

do{    //Do While会首先执行一次操作,在结尾进行循环判断

i++;

}while(i<10);

(4)While循环语句

while(条件语句){

所执行操作

}

(5)for循环语句

int sum=0,i;

for(i=1;i<=10;i++){   //条件以及参数都是使用分号隔开的

sum = sum+i;

}

lr_output_message("从1加到10之和为:%d",sum);

四、字符串及其比较

C语言里没有字符串类型的数据,可以用字符数组来表示一个字符串。

例如 char test[20]=“abcdefg”;

字符串比较

sytcpy(str2,str1)//复制字符串str1

strlen(str1)//长度的统计

strcmp(str1,str2) //比较字符

strstr("s","SS")    //忽略大小写比较字符

ascii码表

五、头文件——头文件globals.h分析

#include,#ifndef这些都是预处理,所谓预处理是指对一个源程序进行编译时,系统将首先自动引用预处理程序对源程序中的预处理部分进行处理,处理完毕后再自动进入源程序的编译。

预处理是C语言的重要功能,define宏定义也是预处理。

include是把指定的文件与源文件连成一个文件。

ifnde,define,endif是为了防止头文件被重复调用。

六、全局变量与局部变量

(1)局部变量

局部变量也成为内部变量,它是在函数内定义的,其作用域仅限于函数内部,离开该函数后不可以使用。虚拟用户脚本中的局部变量应该定义在Vuser_init (),action(),vuser_end(),新创建的用户action及用户自定义函数的内部。

(2)全局变量

全局变量也称为外部变量,它是在函数外部定义的变量,在定义后的所有脚本中都可以调用。虚拟用户脚本中全局变量应该定义在Vuser_init (),action(),vuser_end(),新创建的用户action及用户自定义函数的外部。

七、脚本的调试

脚本的调试对于脚本的编写非常重要

断点设置技术是脚本开发中最重要的开发技术,当预期结果与实际结果不一致时,可以在怀疑有问题的代码前插入断点,当程序运行到断点的时候,就会停下来,这时候可以通过日志,定位问题。

(1)设置断点的三种方式

点击右键选Toggle Breakpoint 或者点击菜单栏的[insert]> [ToggleBreakpoint] 或者按F9 设置断点

(2)单步跟踪

每执行一条语句,程序就会停下来,可以结合日志分析脚本。可以通过F10 ,或者[Vuser]>[run step by step] 进行单步跟踪,每按一次F10 ,脚本就会执行一行。

八、指针

Action(){  //字符串

  char test1='a';

  char test2='b';

  char *test=;

  char *test3='abc';

test=&test1;

  lr_output_message("%c",*test);  //输出test的值'a',&符号引用地址符  *只//向内存的内容

  lr_output_message("%d",test3)  ;  //输出test3 的值abc

return 0;

    }

你可能感兴趣的:(C语言与LoadRunner)