Loadrunner常用函数总结

                                          Loadrunner常用函数总结

        此文是个人进行总结的是比较常用的一些lr函数。学习lr常用函数,可以增强脚本,便于脚本调优。

     1、lr_eval_string(“{当前想要获取的参数}”)

此函数可获取指定的当前参数的值。

     2、lr_output_message()

此函数一般用于打印输出到控制台和output.txt文件中。

lr_eval_string函数与lr_output_message函数用法举例:

lr_output_message(“%s登录成功!”,lr_eval_string(“{username}”));

登录成功后,打印出jack(username的取值)登录成功!;其中%s对应的获取出来的是username,因为是字符类型,所以使用%s(若为整型为%d,浮点型为%f)

3、lr_error_message()

此函数一般用于打印错误,错误一般会以红色字体在控制输出。

函数用法:

lr_error_message(“%s登录失败!”,lr_eval_string(“{username}”));

登录失败后,打印出jack(username的取值)登录失败!,并以红色字体显示。

     4、web_reg_save_param_ex()

此函数为关联函数,在脚本需要做关联的地方就需要用到此函数(想了解与关联相关的内容请自行查找资料学习,这里不做介绍)。

函数用法:

web_reg_save_param_ex函数的参数有:

      1)ParamName:定义存放得到的动态内容的参数名称

      2)NotFound:在返回信息中找不到要找的内容时应该怎么处理,若NotFound=error,说明在返回信息中找不到要找的内容时,发出一个错误信息,脚本不会继续执行下去;若NotFound=warning,说明在返回信息中找不到要找的内容时,只发出警告,脚本会继续执行不中断。

      3)LB:返回信息的左边界字符串,该属性必须有,并且区分大小写

      4)RB:返回信息的右边界字符串,该属性必须有,并且区分大小写

      5)RelFrameId:相对于URL来说,相应查找网页的Frame。此属性性质可以为All或是数字,该属性不常用,可有可无。

      6)Search:返回信息的查找范围。可选择:Headers(在请求头中查找)、Body(在请求体重查找)、Noresource(仅仅在HTML请求体中查找,不包括头和资源)、All(在头、请求体、资源中搜索,默认为All),该属性可有可无。例如:

    SEARCH_FILTERS,

    "Scope=Body",//查找范围

     "IgnoreRedirections=Yes",//在某些情况下系统会使用HTTP3xx重定向操作来完成页面跳转,该选项是用来忽略跳转页面信息  的。如果选中该选项,通过这种重定向技术的页面将不会被关联

"RequestUrl=*/selectNextParticipants.jsp*",//指定请求URL

     7)Ordinal (Ord):说明第几次出现的左边界字符串的匹配项才是需要查找的内容。该属性可有可无。默认为1,若为All,则将查找到的所有内容存储起来。Lr11必须写Ordinal全称才可以成功,否则会报错(已验证)。这个参数用于关联参数有很多相同的左边界的情况。

     8)Savelen:当找到匹配项后,偏移量之后的剩下的几个字元存储到参数中。该属性不能负数,默认值为0。

     9)SaveOffset:当找到匹配项后,从第几个字元存储到参数中。默认值为-1,表示一直到结尾的整个字串都存入参数

     5、web_reg_find()

此函数用于在服务器响应后的数据缓存中查找响应的内容,此函数为注册函数,要放在请请求函数之前。web_reg_find在执行效率上要比web_find要高(想具体了解web_reg_find与web_find的区别的请自行查找资料学习,在这里不做介绍。web_find只支持在Html模式下录制脚本,在页面中查找,是查找前面的请求结果,使用时放在请求语句的后面)。这个函数可以通过查找期望的字符来验证是否返回了正确的页面。

函数用法:

web_reg_find函数参数有:

  • Text:要查找的字符串
  • TextPfx:要查找的字符串的直接前缀
  • TextSfx:要查找的字符串的直接后缀
  • Search:查找的范围。可选择:Headers(在请求头中查找)、Body(在请求体重查找)、Noresource(仅仅在HTML请求体中查找,不包括头和资源)、All(在头、请求体、资源中搜索,默认为Body)
  • SaveCount:统计查找参数的个数
  • Fail:设置函数检查在什么状态下失败,Fail可以是Found或NoFound,默认为NoFound。若Fail=NoFound,是说明当对应的字符串找不到时,函数检查失败;若Fail=Found,是说明当对应的字符串找到时,函数检查失败
  • ID:日志文件中标识此函数的一个字符串
  • RelFrameId:相关联的FrameId
  • LAST:属性列表结束的标记符

     6、strcpy函数

此函数功能为复制一个字符串到另一个字符串中。

函数用法:

举例:

Action()

{

char a[1024];

strcpy(a,"山东济南");

lr_output_message ("%s",a);

return 0;

}

  打印结果:

Starting iteration 1.

Starting action Action.

Action.c(6):山东济南

Ending action Action.

Ending iteration 1.

     7、strcat函数

该函数是用来连接字符串的,将一字符串追加到另一字符串的后面。

函数用法:

Action()

{

char a[]="123456";

char b[] ="@qq.com";

strcat (a,"@qq.com");

 lr_output_message ("%s",a);

return 0;

 

}

打印结果:123456@qq.com

     8、strcmp函数

该函数可以比较对两个字符串的大小。比较规则:自左向右逐个字符相比(按照ASCII码值大小比较),直到遇到不同的字符或遇到’\0’为止;如果全部字符相同,则认为相等;若出现不同的字符则以第一个不相同的字符比较结果为准;若果两个字符串都为英文字母组成时,按照英文字典中的位置来比较,在后面的字母为大,小写字母比大写字母大。

函数用法:

strcmp(字符串1,字符串2)

Action()

{

int result;

char string1[]="babc";

char string2[]="aabc";

result= strcmp (string1,string2);

 

if (result>0)

lr_output_message("string1大于string2");

else if(result<0)

lr_output_message("string2大于string1");

else

lr_output_message("string1等于string2");

return 0;

}

打印结果:string1大于string2

 

     9、atoi函数

该函数用来将字符串转换成整型数。

函数用法:

Action()

 {

char a[]="100";

int Cint;

 Cint=atoi(a);

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

return 0;

}

打印结果:Cint=100

     10、lr_save_string()

该函数主要是将程序中的常量或者变量保存为lr中的参数。

函数用法:

lr_save_string(“param_value”, “param_name”)

param_value:要保存的值

param_name:定义变量名称

举例:

Action()

{

 lr_save_string("100","name");

lr_output_message ("值为:%s",lr_eval_string ("{name}"));

return 0;

}

打印结果:值为:100

     11、lr_save_time()

void lr_save_datetime(const char *format, int offset, const char *name);

此函数是将当前日期和时间,或具有指定偏移的日期和时间保存在参数中。

   举例:

char *aa;

 char *bb;

lr_save_datetime("%H:%M:%S ", TIME_NOW, "now_time"); //取系统当前时间

aa=lr_eval_string("{now_time}");  

lr_output_message(lr_eval_string("{now_time}"));

lr_save_datetime("%Y-%m-%d", DATE_NOW, "now_date");  //取系统当前日期 

lr_output_message(lr_eval_string("{now_date}"));

bb=lr_eval_string("{now_date}");

strcat(aa,lr_eval_string("{now_date}"));//将时间与日期拼接

lr_output_message("%s",aa)

 

打印结果:

vuser_init.c(13): 14:21:23

vuser_init.c(17): 2016-07-07

vuser_init.c(22): 14:21:23 2016-07-07

 

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值