必须正确设置请求体格式、请求头字段并用脚本断言:一、body选raw+json输入合法json;二、headers设authorization、x-request-id等;三、tests验证状态码、响应时间、content-type;四、解析json断言data键、code值、message内容;五、可用ai生成嵌套字段断言。

如果您在Postman中测试接口时需传递结构化数据并验证响应合规性,则必须正确设置请求体格式、请求头字段,并通过脚本实现自动化断言。以下是完成该任务的具体步骤:
一、设置JSON格式请求体
Postman默认以表单形式发送数据,若后端接口要求application/json类型,需手动切换为Raw JSON模式,否则服务器将无法解析参数。
1、点击请求方法下方的“Body”标签页。
2、选择“raw”单选按钮。
3、在右侧下拉菜单中选择“JSON”选项(此时会自动添加Content-Type: application/json请求头)。
4、在文本框中输入标准JSON格式数据,例如:{"username":"testuser","password":"123456"}。
5、确保JSON语法合法,无多余逗号、引号不匹配或中文标点问题。
二、配置关键请求头字段
除Content-Type外,部分接口还需携带认证信息或自定义标识,需在Headers标签页中显式声明,否则请求可能被拦截或拒绝。
1、点击请求编辑区上方的“Headers”标签页。
2、在第一行Key栏输入Authorization,Value栏填写Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...(实际token值)。
3、若接口要求来源校验,在第二行Key栏输入X-Request-ID,Value栏使用内置动态参数{{$guid}}生成唯一标识。
4、如需覆盖默认Content-Type,在对应行Key填Content-Type,Value填application/json; charset=utf-8(注意分号与空格)。
三、编写基础断言验证响应状态
Tests脚本在响应返回后立即执行,用于自动比对实际结果与预期是否一致,避免人工逐项检查。
1、点击请求编辑区下方的“Tests”标签页。
2、输入以下代码验证HTTP状态码是否为200:
pm.test("Status code is 200", function () { pm.response.to.have.status(200); });
3、输入以下代码验证响应时间是否低于300毫秒:
pm.test("Response time is less than 300ms", function () { pm.expect(pm.response.responseTime).to.be.below(300); });
4、输入以下代码验证响应头中Content-Type是否为JSON:
pm.test("Content-Type is application/json", function () { pm.response.to.have.header("Content-Type", "application/json"); });
四、断言JSON响应体中的指定字段
当接口返回结构化JSON数据时,需精确校验关键业务字段是否存在且值正确,防止因字段缺失或类型错误导致前端异常。
1、在Tests标签页中,先声明响应体变量:
var jsonData = pm.response.json();
2、断言data对象中必须包含user_id和token两个键:
pm.test("Response has user_id and token", function () { pm.expect(jsonData.data).to.have.all.keys("user_id", "token"); });
3、断言code字段值等于1000:
pm.test("Business code is 1000", function () { pm.expect(jsonData.code).to.eql(1000); });
4、断言message字段内容为“登录成功”:
pm.test("Message is '登录成功'", function () { pm.expect(jsonData.message).to.eql("登录成功"); });
五、使用AI辅助生成断言(Apipost兼容方式)
若当前环境支持Apipost类工具或其插件,可通过响应体结构自动推导断言逻辑,降低脚本编写门槛,尤其适用于字段较多或嵌套层级深的场景。
1、在响应结果面板右侧查找并点击「AI生成断言」按钮。
2、系统自动分析响应JSON结构,识别出status、data、message等顶层字段及data下的user_id、token等子字段。
3、生成包含字段存在性、值匹配、类型校验的完整断言组,例如:
pm.test("data.user_id exists and is string", function () { pm.expect(jsonData.data.user_id).to.be.a('string'); });
4、将生成的代码复制粘贴至Postman的Tests标签页中即可直接运行。











