在 Postman 中,你可以使用 JavaScript 编写测试脚本来提取响应 Body 中的参数。以下是一个简单的示例,演示如何提取 JSON 格式的响应 Body 中的参数。
1.示例响应 Body 参数
在 Postman 中发起一个请求后,假设接口请求返回的响应 Body 如下所示:
{
"code": "0",
"data": {
"name": "Margaret"
},
"message": "success"
}
2.提取响应 Body 参数
如果你要提取 data 对象中的 name 字段,你可以使用以下测试脚本来提取 name
参数:
// 解析响应 Body
var body = JSON.parse(responseBody);
// 提取参数
var name = body.data.name;
// 输出参数到控制台
console.log("Name: " + name);
// 将参数存储在环境变量中(可选)
postman.setEnvironmentVariable("name", name);
在这个例子中,responseBody
是 Postman 中一个内置变量,代表当前请求的响应 Body。我们首先解析 JSON 格式的响应 Body,然后提取出 name
参数。你可以根据你的需求,对这些参数进行任何你想要的测试操作,比如检查它们的值是否符合预期。如果你想要在其他请求中使用这些参数,你可以将它们存储在环境变量中,以便在其他请求中访问它们。
比 Postman 更好用的工具:Apifox
在 Apifox 中进行一些数据的提取或者断言的时候,可以通过可视化的方式来操作,省去了编写脚本的麻烦,相比 Postman 要编写脚本,会方便很多。
比如你要将下面这个接口返回数据中的 timestamp 字段提取到环境变量中,只需要打开 Apifox,然后在接口的【后置操作】中选择【提取变量】。
{
"code": "0",
"data": {
"timestamp": "1708499514"
},
"message": "success"
}
接着添加 JSONPath 表达式 $.data.timestamp
,最后发送请求即可。一个表达式就搞定,不需要再编写什么 JavaScript 脚本了,快去试试吧!
总结
在 Postman 中,使用 JavaScript 编写测试脚本可提取响应 Body 中的参数。通过解析 JSON 格式的响应 Body,可以轻松提取所需参数,并可选择将其存储在环境变量中供其他请求使用。但与 Postman 相比,Apifox 提供了可视化操作,省去了编写脚本的麻烦,更为便捷。比如,提取数据中的 timestamp 字段只需添加 JSONPath 表达式,无需编写 JavaScript 脚本。Apifox 的操作更直观,是一个更好用的工具。
知识扩展: