2016-04-22 2 views
0

Я использую LoadRunner 11, и вам нужно отправить некоторый web_custom_request. Я начинаю с протокола C Vuser, потому что мне нужен c lib (MD5). Когда я воспроизвожу, я отвечаю на ошибку ниже: vuser_init.c (24): Ошибка: ошибка времени выполнения интерпретатора C: vuser_init.c (24): Ошибка - неразрешенный символ: web_reg_save_param.Как я могу использовать web_reg_save_param, когда протокол LoadRunner является C Vuser?

Как я могу использовать web_reg_save_param при выборе C Vuser протокола? Как я могу заставить LoadRunner распознавать web_reg_save_param, когда протокол C Vuser?

Большое спасибо.

Мой код:

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

web_reg_save_param специфичен для виртуального пользователя Web. Когда вы запускаете виртуального пользователя C, у вас нет доступа к функциям виртуального пользователя веб-протокола.

Однако вы можете запустить веб-виртуального пользователя, который по умолчанию использует язык ANSI C. В таком случае вы можете использовать любой C-код, который вы хотите, и все еще иметь доступ к функциям веб-виртуального пользователя.

+0

Спасибо! Эта работа для меня. Но я считаю, что этот код не работает в веб-виртуальном пользователе, работает только в виртуальном пользователе C: char jsonBody [500]; \t memset (jsonBody, 0, sizeof (jsonBody)); memset (jsonBody, 0,500) в порядке. – Baihonglili

Смежные вопросы