运用LoadRunner进行HTTP接口自动化测试

时间:2025-04-08 20:15:54
Action() { //存储测试结果状态 char V_testStatus[1024]; //定义预期值与实际值的比较结果 int result; //取得登录名 char *V_UserName=lr_eval_string("{UserName}"); //获取服务器还回的请求状态state web_reg_save_param_ex( "ParamName=sucStatusParam", "LB=\"state\":", "RB=,", "NOTFOUND=warning", SEARCH_FILTERS, "Scope=Body", "IgnoreRedirections=Yes", "RequestUrl=*/MiddleWare/*", LAST); //发送请求 web_custom_request("login", "URL=http://{IP}/MiddleWare/mem/login?", "Method=POST", "Resource=0", "RecContentType=application/json", "Referer=", "Mode=HTTP", //"EncType=application/json", "Body=params={\"param\":{\"userAccount\":\"{UserName}\",\"passWord\":\"e10adc3949ba59abbe56e057f20f883e\",\"device\":\"IOS\"},\"version\":\"v1.0\",\"loginLog\":\"2015-09-11 09:09:09\"}", LAST); //比较预期值和实际值是否相等 result=strcmp(lr_eval_string("{YQJG}"),lr_eval_string("{sucStatusParam}")); if(result==0){ strcpy(V_testStatus,"PASS"); }else{ strcpy(V_testStatus,"FAIL"); } strcpy(V_Result,"<tr>"); //写入接口名称 strcat(V_Result,"<td id='interFaceName'>"); strcat(V_Result,lr_eval_string("{IFaceName}")); strcat(V_Result,"</td>"); //写入测试参数 strcat(V_Result,"<td id='uname'>"); strcat(V_Result,V_UserName); strcat(V_Result,"</td>"); //写入预期结果 strcat(V_Result,"<td id='expected'>"); strcat(V_Result,lr_eval_string("{YQJG}")); strcat(V_Result,"</td>"); //写入实际结果 strcat(V_Result,"<td id='reality'>"); strcat(V_Result,lr_eval_string("{sucStatusParam}")); strcat(V_Result,"</td>"); //写入测试状态 strcat(V_Result,"<td id='status'>"); strcat(V_Result,V_testStatus); strcat(V_Result,"</td></tr>"); fputs(V_Result,file_stream); return 0; }