loadrunner关联函数详解

1.什么值需要关联?
客户端的某个请求是随着服务器端的相应而动态变化的值,则需要关联。

2.web_reg_sava_param
举例:web_reg_save_param("jws_session","LB=JWS_SESSION=\"","RB=\"",LAST);
解释:jws_session为关联函数取一个别名,这个随意;LB为左边界,就是你要关联的值,左边的内容;RB为右边界,就是要关联值的右边内容。
注意:(1)左边界或者右边界最好在返回值中是唯一的,避免不用关联的值也会被关联;
           (2)关联函数需要放在关联内容的前面。

3.左边界、右边界
首先说的就是web_reg_sava_param是一个注册函数,LoadRunner实现关联的原理是:客户端请求,通过关联函数定义,在响应中找到关联的值,以变量的形式替换原脚本中的值。通过原理可以看到,关联是在响应中找到值,所以左右边界也是在响应中找啦。
(1)首先确保录制回放的脚本是成功的
(2)切换到Tree目录,找到需要关联内容的请求,再找到需要关联的值
loadrunner关联函数详解
如上图:可以看到关联的user_sid,左边界为user_sid="
,右边界为"
(3)在脚本中写关联函数
web_reg_save_param("user_sid","LB=user_sid=\"","RB=\"",LAST);
双引号需要转义,加了\用来转义
loadrunner关联函数详解


4.如果打印关联的值
例如:关联函数如下
web_reg_save_param("user_sid","LB=user_sid=\"","RB=\"",LAST);
(1)如果是中文内容,需要转换下编码格式
lr_convert_string_encoding(lr_eval_string("{user_sid}"),"UTF-8","gb2312","uuu");
lr_output_message("%s",lr_eval_string("{uuu}"));
(2)如果没有中文,则直接输出
lr_output_message("%s",lr_eval_string("{user_sid}"));
(3)如果关联有多个内容,则可以这样打印
lr_output_message("%s",lr_eval_string("{user_sid_1}"));   //打印第一个
lr_output_message("%s",lr_eval_string("{user_sid_2}"));   //打印第二个,以此类推