【LR压测接口】:脚本样例如下,可测接口,单个调通后进行场景压测,可设置并发数,压测时候可以看下服务器CPU等信息。涉及到调优可以参考之前文章。
Action()
{
//定义随机OPENID
lr_start_transaction(“hscodequery”);//定义一个事务
//相关HTTP字段初始化
web_set_max_html_param_len(“262144”); // 默认最大长度为256
web_reg_save_param(“ResponseBody”, “LB=”, “RB=”, “Search=Body”, LAST);
web_save_header(REQUEST, “RequestHeader”);// REQUEST为内置变量,保存请求的头信息,需在发送URL请求前注册使用,将请求头信息存入字符串RequestHeader中
web_save_header(RESPONSE, “ResponseHeader”);// 将RESPONSE保存响应的头信息在字符串ResponseHeader中
web_add_header(“Cookie”,“SESSION=435cc892-e8a9-44a5-a79c-507e4b9272ac; websiteId=151; copy=true; sceneBlock=true”); //可以绕过登入测接口
//lr_think_time(0.8);
web_custom_request(“contain”,
“URL=http://10.12.102.183/judge/api/v001/rj/getModelTree”,
“Method=POST”,
“Resource=0”,
“Snapshot=t10.inf”,
“Referer=http://10.12.102.183/judge/app/rj/warnanaly/index”,
“Mode=HTTP”,
“EncType=application/json;charset=UTF-8”,//提交数据格式
“RecContentType=application/json”,//返回数据格式
“Body={“bntype”:“2”,“type”:“MX-”}”,
LAST);
//字符转码
lr_convert_string_encoding(lr_eval_string("{RequestHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,“RequestHeaderUTF8”);
lr_convert_string_encoding(lr_eval_string("{ResponseHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,“ResponseHeaderUTF8”);
lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,“ResponseBodyUTF8”);
//输出信息
lr_output_message("# 请求头信息:\n %s", lr_eval_string("{RequestHeaderUTF8}"));
lr_output_message("# 响应头信息:\n %s", lr_eval_string("{ResponseHeaderUTF8}"));
lr_output_message("# 响应内容体:\n %s", lr_eval_string("{ResponseBodyUTF8}"));
lr_end_transaction(“hscodequery”, LR_PASS);
//模糊匹配返回结果 --strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串
//if (strstr(lr_eval_string("{ResponseBodyUTF8}"),"“state”:“2"”)==NULL) {
//lr_error_message("%s","—失败了");
//}
return 0;
}