在LoadRunner脚本里,对【变量】的处理有两种方法,一是在运行前就进行参数化,二是在运行时实时获取。
我今天说的就是在运行时实时获取,给变量赋值时用到的函数:web_reg_save_param。
1、首先这个函数,必须在获取返回值的接口执行前定义,在获取返回值的接口执行后,才能被使用;
2、另外,它默认能保存的返回参数值最大不能超过256字节,一般的接口返回值都足够使用了,但实际应用中,某些加密后的返回值,在解密之后,会超过256字节,这时候我们会看到下面这种Error Info:
Error -26377: No match found for the requested parameter "encryptedResp2". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 256 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
我们可以在执行web_reg_save_param之前先执行web_set_max_html_param_len (const char *length ),来增加可保存的参数值的大小,就可以了。
例如:
web_set_max_html_param_len("1024");
web_reg_save_param("encryptedResp2",
"LB=\,\"encryptedResp\":\"",
"RB=\",",
"Search=Body",
LAST);