【Jmeter】参数Parameters和Body Data

在做接口并发测试的时候,才发现Jmeter中的Parameters和Body Data两种参数格式并不是简单的一个是xx=xx,另外一个是json格式的参数

先看一个接口

[post] /api/xx/xxxx/xxxx 通知服务端文件上传完毕

输入参数:

http content type: application/json

名称 | 类型 | 是否必须 | 参数限制 | 描述
--------- | ----------- | -------- | ---------- | ----------
cid | string | 是 | cid.length==36 | id
version | int | 是 | 无 | 版本

开始时在Jmeter的请求为

【Jmeter】参数Parameters和Body Data_第1张图片

请求返回的结果为

{"msg":"{\"message\":\"error\",\"error_code\":4000}","ret":"error"}

查找后发现是Parameters和Body Data的使用,还有请求的参数理解有误

仔细看看抓包中的两种“参数”

xx=xx&xxx=xx格式

【Jmeter】参数Parameters和Body Data_第2张图片

json格式

【Jmeter】参数Parameters和Body Data_第3张图片

Parameters

xx=xx&xxx=xx格式的参数为GET或者POST请求中,url中带的参数值,如:

在一个这样的请求中/api/xx/xxx/xxxx?index=0&pagesize=100&thumb=1
?号后面的可以写在url中,也可以写在Parameters中

【Jmeter】参数Parameters和Body Data_第4张图片

Body Data

json格式的是POST请求中的参数,POST请求参数时,看请求的格式,是否需要在请求中添加HTTP信息头管理器,将请求的Content-Type 或者 User-Agent 等进行定义

HTTP请求的格式:

【Jmeter】参数Parameters和Body Data_第5张图片

HTTP信息头管理器:

【Jmeter】参数Parameters和Body Data_第6张图片

你可能感兴趣的:(Interface)