flyly0755 发表于 2017-3-28 14:15:52

回放脚本很多步骤没有快照

本帖最后由 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, 和这个有关系么?

flyly0755 发表于 2017-3-30 12:14:51

木有大牛回复么:'(

flyly0755 发表于 2017-4-6 18:20:00

顶一下,别沉了!
页: [1]
查看完整版本: 回放脚本很多步骤没有快照