【发布时间】:2019-01-02 08:44:22
【问题描述】:
我正在尝试通过 Newman 运行以下 Postman 脚本以将响应写入文件:
//verify http response code
pm.test("Report Generated", function () {
pm.response.to.have.status(200);
});
var fs = require('fs');
var outputFilename = 'C:/Users/archit.goyal/Downloads/spaceReport.csv';
fs.writeFileSync(outputFilename, pm.response.text());
请求给出响应,但写入文件时出现以下错误: 1?测试脚本中的类型错误
┌─────────────────────────┬──────────┬──────────┐
│ │ executed │ failed │
├─────────────────────────┼──────────┼──────────┤
│ iterations │ 1 │ 0 │
├─────────────────────────┼──────────┼──────────┤
│ requests │ 20 │ 0 │
├─────────────────────────┼──────────┼──────────┤
│ test-scripts │ 20 │ 1 │
├─────────────────────────┼──────────┼──────────┤
│ prerequest-scripts │ 0 │ 0 │
├─────────────────────────┼──────────┼──────────┤
│ assertions │ 2 │ 0 │
├─────────────────────────┴──────────┴──────────┤
│ total run duration: 1m 48.3s │
├───────────────────────────────────────────────┤
│ total data received: 1.24MB (approx) │
├───────────────────────────────────────────────┤
│ average response time: 5.3s │
└───────────────────────────────────────────────┘
# failure detail
1. TypeError fs.writeFileSync is not a function
at test-script
inside "3i_BMS_Amortization_Schedule / GetReport"
请帮忙
【问题讨论】:
-
如果您在 Postman 测试中添加 fs,它将无法工作,因为它不是您可以从应用程序调用的模块之一。 getpostman.com/docs/v6/postman/scripts/…
-
我在应用程序中添加了代码,但通过 Newman 运行和调用其模块。它不会那样工作吗?如果没有,有没有办法将响应(以文本格式出现)写入 CSV 文件
-
如果您的应用程序中有任何不支持的内容,它将无法工作。您不能在 Postman 集合之外处理该操作,而是直接将类似的内容添加到 Newman 脚本中吗? Newman 可以选择返回响应数据。
-
我正在尝试仅通过 newman 进行操作。我正在使用 newman 运行上面共享的代码,并且响应也来自 newman 控制台。如果您可以共享任何可以通过 newman 工作以保存响应的工作代码,那就太好了。
-
如果您在 Postman UI 中打开集合,上面的代码是否包含 fs 语句,在 Test 选项卡中?如果它在那里,你没有用 Newman 正确运行它。我会将我想用它做什么的 fs 模块添加到这样的东西 - github.com/postmanlabs/newman/blob/develop/…