第一步
光标定位到测试计划上,右键菜单"添加" -> Threads(users) -> 线程组,如下图
第二步
光标定位到线程组,右键菜单选择 “添加” -> Sampler -> HTTP请求,填写IP和端口、路径,协议填写http,方法POST,content encoding填写utf-8,Body Data填写json格式内容(关于 json 串的提取,可以使用 Badboy 自己录制的,也可以使用 Chrome 浏览器自带工具 “JavaScript 控制台 - Network” 进行捕捉,或是开发人员提供接口文档里复制粘贴),最后调整 json 数据的展现格式如下图所示:
第三步
第三步, 光标定位到该HTTP请求上,右键菜单选择 “添加” -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Type,值为 application/json 即可:
第四步
添加相应断言
第五步
使用 CSV Data Set Config 将 json 数据参数化
光标定位到线程组,右键菜单选择 “添加” -> 配置元件-> CSV Data Set Config,filename输入C:\Users\zhengxl\Desktop\新建 XLS 工作表.csv, Variable Names 输入 userName,password,编辑DeviceUID.csv填写内容如下图所示:
第六步
返回到HTTP请求,编辑 消息体数据 里的 json 串里需要参数化的地方,使用 ${UID} 等参数覆盖需要参数化的部分:
第七步
光标定位到线程组,右键菜单选择 “添加” -> 监听器->查看结果树和聚合报告,如下所示
第八步
这时候你就可以使用参数化的 json 串进行压力测试啦
比如在CSV文件中增加多少个userName,password,在线程组就设置多少个线程数,如下图所示:
第九步
点击运行按钮执行,结果如下,可分析结果
可能会遇到的问题
CSV文件无法解析,报错如下所示
{“errors”:{“userName”:[“After parsing a value an unexpected character was encountered: $. Path ‘userName’, line 2, position 99.”]},“type”:“https://tools.ietf.org/html/rfc7231#section-6.5.1”,“title”:“One or more validation errors occurred.”,“status”:400,“traceId”:“00-33946101131b4a960a75445a2f204e8c-3e40d0abcfcbf923-00”}
处理方式:另存文件格式,然后打开