Postman Tests 中如何提取请求 Body 中的参数?

在 Postman 中,使用pm.request.body对象可以轻松提取请求 Body 中的参数。此外,你还可以将提取的参数存储在环境变量中,以便在其他请求中访问。

用 Apifox,节省研发团队的每一分钟

Postman Tests 中如何提取请求 Body 中的参数?

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

如果想要在 Postman 中提取请求 Body 中的参数,你可以使用 pm.request.body 对象。以下是一个示例,演示如何在 Postman Tests 中提取请求 Body 中的参数。

1.示例请求 Body 参数

假设你的接口中的请求 Body 如下所示:

{
    "name": "John Doe",
}
Postman Tests 提取请求 Body 中的参数

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 Tests 提取请求 Body 中的参数

比 Postman 更好用的工具:Apifox


Apifox 中进行一些数据的提取或者断言的时候,可以通过可视化的方式来操作,省去了编写脚本的麻烦。比如你要提取接口返回的响应数据,可以在【后置操作】中选择【提取变量】。

立即体验 Apifox
Postman Tests 提取请求 Body 中的参数

然后通过 JSONPath 表达式来提取,不需要再编写什么 JavaScript 脚本了。比如这个接口返回响应示例:

{
    "code": "0",
    "data": {
        "timestamp": "1708499514"
    },
    "message": "success"
}

通过 JSONPath 表达式提取就是$.data.timestamp

Postman Tests 提取请求 Body 中的参数


如果你要提取请求 Body 中的参数,也可以在【前置/后置操作】中编写 JavaScript 脚本来提取,脚本是兼容 Postman 的脚本语法的,可以无缝切换过来。比如请求 Body 是:

{
    "name":"Dog"
}
Postman Tests 提取请求 Body 中的参数

你可以编写以下 Javascript 脚本获取 name 参数:

let getBody = JSON.parse(pm.request.body.raw);

console.log(getBody.name)
Postman Tests 提取请求 Body 中的参数

总结

Postman 中,使用pm.request.body对象可以轻松提取请求 Body 中的参数。通过示例测试脚本,解析请求 Body 并提取参数,例如提取名为"name"的字段值。此外,你还可以将提取的参数存储在环境变量中,以便在其他请求中访问。相比之下,Apifox 提供了可视化操作,简化了参数提取步骤,无需编写脚本。如果要写脚本,Postman 中的脚本也可以轻松切换至 Apifox。

Apifox

知识扩展: