后置脚本
后置脚本是在请求完成后执行的代码片段,常用于校验响应结果、提取数据并存储为变量等。
使用后置脚本
后置脚本使用 JavaScript 编写,常用的功能包括:
- 使用断言验证响应结果
- 提取响应数据并存储为变量
- 在脚本中发送额外请求
现在需要从 `data.token` 提取 `token` 值。
在接口的后置操作的 “自定义脚本” 中编写以下代码:
```js
// 获取 JSON 格式的请求返回数据
var jsonData = pm.response.json();
// 将 token 的值写入环境变量
pm.environment.set('token', jsonData.data.token);
// 输出日志,方便调试
console.log('提取的 token:', jsonData.data.token);
```
运行此脚本后,`token` 将被提取并存储到环境变量中,可用于后续请求。
例如,可以在目录层级或接口层级中引用:`Bearer {{token}}`。
<Background>
<img src="https://api.apifox.com/api/v1/projects/5097254/resources/491639/image-preview" width="540px" />
</Background>
更多示例
示例 1:断言请求响应是否正确
// pm.response.to.have 示例
// 验证返回结果状态码是否为 200
pm.test('返回结果状态码为 200', function() {
pm.response.to.have.status(200);
});
// pm.expect 示例
// 验证当前环境是否为正式环境
pm.test('当前为正式环境', function() {
pm.expect(pm.environment.get('env')).to.equal('production');
});
// response assertions 示例
// 验证返回结果没有错误
pm.test('返回结果没有错误', function() {
pm.response.to.not.be.error;
pm.response.to.have.jsonBody('');
pm.response.to.not.have.jsonBody('error');
});
// pm.response.to.be* 示例
// 验证返回结果没有错误并具有 JSON 格式的响应体
pm.test('返回结果没有错', function() {
// 验证状态码为 200
pm.response.to.be.ok; // 其他可选项:info, success, redirection, clientError, serverError
// 验证响应具有有效的 JSON 格式体
pm.response.to.be.withBody;
pm.response.to.be.json; // 该断言同时检查响应体是否存在,无需额外验证
});
示例 2:将接口响应数据写入至环境变量
// 获取 JSON 格式的请求返回数据
var jsonData = pm.response.json();
// 将 jsonData.token 的值写入环境变量
pm.environment.set('token', jsonData.token);
其它示例
- 断言示例
- 环境变量、全局变量、临时变量使用示例
- 脚本读取/修改接口请求信息
- 参数加密/解密
- 脚本内发送接口请求示例:
pm.sendRequest('https://www.api.com/get', function(err, response) {
console.log(response.json());
});
最后修改时间: 1 个月前