当LoadRunner协议是C Vuser时,如何使用web_reg_save_param?

时间:2016-04-22 11:51:54

标签: loadrunner

我使用LoadRunner 11,需要发送一些web_custom_request。 我从一个C Vuser协议开始,因为我需要一些c lib(MD5)。 当我重播时,我遇到以下错误: vuser_init.c(24):错误:C解释器运行时错误:vuser_init.c(24):错误 - 未解析的符号:web_reg_save_param。

当我选择C Vuser协议时,如何使用web_reg_save_param? 当协议是C Vuser时,如何使LoadRunner识别web_reg_save_param?

非常感谢。

我的代码是:

vuser_init()
{   
char *digest;
char jsonBody[500];
char jsonBodyFirst[500];
char *key = "3KJBI23U923B8W0NF8WB29B98DAYP9AUBI2UQPF98AF9ABEWFPAOINOANSFPOAIN";

strcpy(jsonBodyFirst, lr_eval_string("{\"channelId\":\"2\",\"loginType\":\"2\",\"userId\":\"{loginMobile}\",\"password\":\"GGDSuDK6SlEidji9\\/BtPlQ==\",\"osName\":\"Android\",\"deviceNo\":\"865982027651010\",\"clientVersion\":\"1.0.3\",\"osVersion\":\"6.0.1\",\"deviceModel\":\"MI NOTE LTE\",\"imsi\":\"460008011671383\""));        

strcpy(jsonBody, jsonBodyFirst);        
strcat(jsonBody,"}");
digest = (char *)hmac_md5(jsonBody, key);

memset(jsonBody,0,sizeof(jsonBody));
sprintf(jsonBody, "Body=%s,\"digest\":\"%s\"}", jsonBodyFirst, digest);

web_reg_save_param("jsessionid",
                   "LB/IC=JSESSIONID=",
                   "RB/IC=;",
                   "LAST");

web_custom_request("autoLogin",
                   "Method=POST",
                   "Mode=HTML",
                   "EncType=application/json",
                   "URL=https://testsys.szsharelink.com:8443/service/autoLogin.app",
                   jsonBody,
                   "LAST");

return 0;

}

1 个答案:

答案 0 :(得分:0)

web_reg_save_param特定于Web虚拟用户。运行C虚拟用户时,您无权访问特定于Web的协议虚拟用户的功能。

但是,您可以运行Web虚拟用户,默认情况下使用ANSI C语言。在这种情况下,您可以合并任何您希望的C代码,并且仍然可以访问Web虚拟用户特定的功能。