LR手动编辑脚本尝试:
参考:https://www.cnblogs.com/guanfuchang/p/6203994.html
// 事务开始:设置事务名称
lr_start_transaction("事务名称");
// 设置(注册)文件检查
web_reg_find("TEXT=\"auto\":\"E\"", "Search=Body", LAST);
// 匹配响应消息体(完整,包括消息头)
web_reg_save_param("myresponse", "LB=", "RB=", "RelFrameId=1", LAST);
// 发起请求
web_custom_request("Test",
"URL=http://xxx.xxx.xxx",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTML",
"EncType=application/json;charset=UTF-8",
"Body={}",
LAST);
// 打印一下接口请求的响应结果,使用函数lr_eval_string
lr_log_message("response:%s", lr_eval_string("{myresponse}"));
// 事务结束:根据事务名称,可以在这里灵活设置事务执行的结果
lr_end_transaction("事务名称",LR_AUTO);
LR对于https的协议,如果编写或录制之后,回放失败,可以脚本前面加上一行:
web_set_sockets_option("SSL_VERSION", "TLS1.1");
还是不行的话,再这样:
设置运行时设置(快捷键F4)
找到Internet 协议 - 首选项 - 高级,勾选“winlnet 回放,文不是套接字(仅Windows) ”选项。
两者之间的区别
Enable ContentCheck during replay
- 可以用来全局检查脚本的响应中是否包含某些内容
Checks - Enable image and text check
- 允许在执行期间检查图片或者文字的检查点。该选项仅适用于Html类型的脚本。另外,使用该选项会使用更多的内存。因此,系统默认该项是不选的。
- web_find()、web_image_check()受其影响
- web_reg_find()不受其影响
Sequential
- Each iteration:每次执行Action时,参数值改变。每个Vuser的参数取值都一样。
- Each occurrence:每次取参数时,参数值改变。每个Vuser的参数取值都一样。
- Once:唯一
Random:自由选取参数
Unique:
- Each iteration:
每次执行Action时,参数值改变。
在Allocate Vuser values in the Controller中
可选择“自动”和“手动”分配。
“自动”分配把参数平均分给每个Vuser。
“手动”分配时,参数不够的话,压力测试时会报错。 - Each occurrence:
每次取参数时,参数值改变。
只有“手动”分配。参数不够,测试时报错。 - Once:唯一
When out of values
- Abort Vuser:结束Vuser
- Continue in a cyclic manner:使用同样的循环样式继续
- Continue with last value:使用最后一个参数值继续