|
本帖最后由 flyly0755 于 2017-3-28 14:18 编辑
最近使用loadrunner进行API接口测试,遇到下面这样一个的问题:
一个脚本里面有四个消息交互流程,第一个是POST, 其他三个是GET.
回放之后只有第一个步骤生成了快照,其他三个步骤都没有快照,消息交互没有问题,脚本如下:
Action()
{
//变量在最前面定义
int HttpRetCode;
int i,j;
lr_start_transaction("GetToken");
// 默认最大长度为256
web_set_max_html_param_len("262144");
//获取Token
web_reg_save_param("Token","LB=\"access_token\":\"","RB=\"",LAST);
web_submit_data("bazhuayuAPI-step1"
"Action=http://dataapi.bazhuayu.com/token",
"Method=POST",
"RecContentType=application/x-www-form-urlencoded",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
ITEMDATA,
"Name=username", "Value={test01}", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=grant_type", "Value=password", ENDITEM,
LAST);
HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE);
if (HttpRetCode == 200)
lr_end_transaction("GetToken", LR_PASS);
else
lr_end_transaction("GetToken", LR_FAIL);
lr_start_transaction("GetSpecificTaskGroupInfo");
//web_reg_save_param("taskGroupName","LB=\"taskGroupName\":\"","RB=\"",,LAST);
web_reg_save_param("taskGroupIdget","LB=\"taskGroupId\":","RB=,\"taskGroupName\":\"testAPIgp1\"",LAST);
web_save_header(RESPONSE, "ResponseHeader");// RESPONSE保存响应的头信息
web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
web_add_header("Authorization","bearer {Token}"); //"Authorization=bearer {Token}",
web_submit_data("bazhuayuAPI-step2",
"Action=http://dataapi.bazhuayu.com/api/taskgroup",
"Method=GET",
"RecContentType=application/x-www-form-urlencoded",
"Snapshot=t2.inf",
"Mode=HTTP",
LAST );
lr_output_message("响应内容体:\n %s", lr_eval_string("{ResponseBody}"));
lr_output_message("测试任务组id:%s", lr_eval_string("{taskGroupIdget}"));
lr_end_transaction("GetSpecificTaskGroupInfo", LR_PASS);
lr_start_transaction("GetSpecificTaskInfo");
web_reg_save_param("taskIdget","LB=\"taskId\":\"","RB=\",\"taskName\":\"testAPIgp1task1\"",LAST);
web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
web_add_header("Authorization","bearer {Token}"); //"Authorization=bearer {Token}",
web_submit_data("bazhuayuAPI-step3",
"Action=http://dataapi.bazhuayu.com/api/task",
"Method=GET",
"RecContentType=application/json",
"Referer=",
"Snapshot=t3.inf",
"Mode=HTTP",
ITEMDATA,
"Name=taskgroupid", "Value={taskGroupIdget}", ENDITEM,
LAST);
lr_output_message("响应内容体:\n %s", lr_eval_string("{ResponseBody}"));
lr_output_message("测试任务id:%s", lr_eval_string("{taskIdget}"));
lr_end_transaction("GetSpecificTaskInfo", LR_PASS);
lr_start_transaction("GetSpecificTaskData");
web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
web_add_header("Authorization","bearer {Token}"); //"Authorization=bearer {Token}",
web_submit_data("bazhuayuAPI-step4",
"Action=http://dataapi.bazhuayu.com/api/alldata",
//"Action=str1",
"Method=GET",
"RecContentType=application/json",
"Mode=HTTP",
"Snapshot=t4.inf",
ITEMDATA,
"Name=taskid","Value={taskIdget}",ENDITEM,
"Name=pageindex","Value=1",ENDITEM,
"Name=pagesize","Value=5",ENDITEM,
LAST );
lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),"utf-8",NULL,"ResponseBodyChs");
lr_output_message("# 响应内容体:\n %s", lr_eval_string("{ResponseBodyChs}"));
lr_end_transaction("GetSpecificTaskData", LR_PASS);
return 0;
}
使用LR 11中文破解版。疑惑中,在此请求各位LR大牛。
PS: 第一个方法是POST, 后三个方法是GET, 和这个有关系么?
|
|