【问题标题】:How to use iteration data with newman如何在 newman 中使用迭代数据
【发布时间】:2021-11-28 11:27:18
【问题描述】:

我在 Postman 中有一个集合,它从 json 文件加载“有效负载对象”,并希望通过类似命令使其在 newman 中运行。

POST 请求

  • Body: POST 请求我收到了{{jsonBody}}

  • 预请求脚本:逻辑上pm.globals.set("jsonBody", JSON.stringify(pm.iterationData.toObject()));

还有一个带有这种“对象”的file.json 文件:

[
    {
    "data": {
        "propert1": 24,
        "property2": "24__DDL_VXS",
        ...
    },
        {
    "data": {
        "propert1": 28,
        "property2": "28__HDL_VDS",
        ...
    }
...
]

工作就像Postman中的魅力。

这是我试图在 cmd 中运行的内容。

newman run \
-d file.json  \
--global-var access_token=$TOK4EN \
--folder '/vlanspost' \
postman/postman_collection_v2.json

根据我得到的结果 - newman 似乎不是 resolving 标志:

-d, --iteration-data <path> Specify a data file to use for iterations (either JSON or CSV)

并简单地将 Body 部分中的这个字符串作为有效负载传递:{{jsonBody}}

有人遇到过同样的问题吗?

谢谢

【问题讨论】:

  • 我认为纽曼不知道在哪里提交file.json。您可以尝试添加完整的 path_to_file 吗?
  • 嗨@lucasnguyen17,我尝试提供完整路径但得到了相同的结果。
  • 我在想从 Postman 导出的文件是否格式不正确? @lucasnguyen17
  • 我认为有效负载实际上是从 --iteration-data 解析的,但 newman 必须以某种格式错误的形式传递此有效负载 - 因为我已将 --verbose 与 newman 一起使用并复制/粘贴相同的有效负载通过 curl 和 httpie (两者都作为魅力)但是当使用 newman - 我得到 500 INTERNAL SERVER ERROR 所以 Flask 甚至不会处理请求并且 werkzeug 会自动抛出 INTERNAL SERVER ERROR 500 @lucasnguyen17
  • 所以我知道newman 如何发送有效载荷。 1. 当我在 PyCharm 中调试我的 Flask 应用程序并从 newmam 捕获请求有效负载时 - request.get_json() 不存在 - 它必须存在(甚至 Postman 以 json 格式发送数据) 2. 使用 postman/curl/httpie @987654333 时@ 只是存在所以邮递员导出一定是错误的。我怀疑导出集合的 prerequest 部分中的这一行:"type": "text/javascript"@lucasnguyen17

标签: database rest postman newman


【解决方案1】:

我就是这样做的,效果很好。

  1. 将采集和数据文件放在同一个目录中。例如:
C:\USERS\DUNGUYEN\DESKTOP\SO
        ---- file.json
        \___ SO.postman_collection.json
  1. 从这个folder,发出newman 命令。
newman run .\SO.postman_collection.json -d .\file.json --folder 'vlanspost'
  1. 这是结果:

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多