通过web_custom_request编写接口压测脚本

来源:互联网 发布:java snmp 流量监控 编辑:程序博客网 时间:2024/06/08 09:47

步骤

  • 新建HTTP协议脚本
  • 声明变量(C语言要在最开始声明)
  • 参数化返回值(在web请求前注册)
  • 描述请求
  • 对请求结果进行断言
  • 对响应数据进行处理(转码及打印)
initData_Action(){    // 定义请求返回码变量    int HttpRetCode;    char *url_request = "http://xxxx/xxxx/initData";    char *body_request =         "{"        "\"body\":{"            "\"dataDicVer\":\"\","            "\"paramVer\":\"\","            "\"appVer\":\"\","            "\"bannerVer\":\"\""        "},"        "\"header\":{"            "\"appType\":\"1\","            "\"appVersion\":\"2.1.2\","            "\"cardCode\":\"\","            "\"channelId\":\"xxxxx\","            "\"deviceId\":\"xxxxxx\","            "\"sessionId\":\"\""        "}}";    lr_save_string(url_request,"URL_REQUEST");    lr_save_string(body_request,"BODY_REQUEST");    lr_start_transaction("initData_Action");    // 返回值参数化处理,取所有响应数据    web_reg_save_param_ex("ParamName=getInitData",                          "LB=",                          "RB=",                          LAST);    web_custom_request("initData",                       "URL={URL_REQUEST}",                       "Method=POST",                       "Referer=",                       "EncType=application/json",                       "RecContentType=application/json",                       "Body={BODY_REQUEST}",                       "Mode=HTTP",                        LAST);    HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE);    if (HttpRetCode == 200){    lr_log_message(">>> success <<<");    // 对返回值转码    lr_convert_string_encoding(lr_eval_string("{getInitData}"),                               LR_ENC_UTF8,                               "GB2312",                               "getInitDataEnc");    lr_output_message(lr_eval_string("{getInitDataEnc}"));    } else {    lr_error_message(">>> fail <<<");    }    lr_end_transaction("initData_Action", LR_AUTO);    return 0;}
原创粉丝点击