如果想要在 Postman 中提取请求 Body 中的参数,你可以使用 pm.request.body
对象。以下是一个示例,演示如何在 Postman Tests 中提取请求 Body 中的参数。
1.示例请求 Body 参数
假设你的接口中的请求 Body 如下所示:
{
"name": "John Doe",
}
2.提取请求 Body 参数
如果要在 Postman 提取字段 name 的值,你可以使用以下测试脚本来提取 name
参数:
// 解析请求 Body
var body = JSON.parse(pm.request.body.raw);
// 提取参数
var name = body.name;
// 输出参数到控制台
console.log("Name: " + name);
// 将参数存储在环境变量中(可选)
pm.environment.set("name", name);
在这个例子中,我们使用了 pm.request.body.raw
来获取请求的原始 Body,然后解析为 JSON 格式,提取出 name
参数。你可以根据你的需求,对这些参数进行任何你想要的测试操作。如果你想要在其他请求中使用这些参数,你可以将它们存储在环境变量中,以便在其他请求中访问它们。
比 Postman 更好用的工具:Apifox
在 Apifox 中进行一些数据的提取或者断言的时候,可以通过可视化的方式来操作,省去了编写脚本的麻烦。比如你要提取接口返回的响应数据,可以在【后置操作】中选择【提取变量】。
然后通过 JSONPath 表达式来提取,不需要再编写什么 JavaScript 脚本了。比如这个接口返回响应示例:
{
"code": "0",
"data": {
"timestamp": "1708499514"
},
"message": "success"
}
通过 JSONPath 表达式提取就是$.data.timestamp
。
如果你要提取请求 Body 中的参数,也可以在【前置/后置操作】中编写 JavaScript 脚本来提取,脚本是兼容 Postman 的脚本语法的,可以无缝切换过来。比如请求 Body 是:
{
"name":"Dog"
}
你可以编写以下 Javascript 脚本获取 name 参数:
let getBody = JSON.parse(pm.request.body.raw);
console.log(getBody.name)
总结
在 Postman 中,使用pm.request.body
对象可以轻松提取请求 Body 中的参数。通过示例测试脚本,解析请求 Body 并提取参数,例如提取名为"name"的字段值。此外,你还可以将提取的参数存储在环境变量中,以便在其他请求中访问。相比之下,Apifox 提供了可视化操作,简化了参数提取步骤,无需编写脚本。如果要写脚本,Postman 中的脚本也可以轻松切换至 Apifox。
知识扩展: