我使用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;
}
答案 0 :(得分:0)
web_reg_save_param特定于Web虚拟用户。运行C虚拟用户时,您无权访问特定于Web的协议虚拟用户的功能。
但是,您可以运行Web虚拟用户,默认情况下使用ANSI C语言。在这种情况下,您可以合并任何您希望的C代码,并且仍然可以访问Web虚拟用户特定的功能。