【发布时间】: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