【发布时间】:2019-01-23 10:54:16
【问题描述】:
我正在使用 Newman 和 Postman 测试网站。
我的 Newman 命令结构如下:
newman run
"https://api.getpostman.com/collections/{collection_id}?apikey={my_postman_api_key}"
--environment "https://api.getpostman.com/environments/{environment_id}?apikey={my_postman_api_key}"
--export-environment "https://api.getpostman.com/environments/{environment_id}?apikey={my_postman_api_key}"
--insecure
这一切正常,但我的环境值在 Newman 运行后没有更新。
在我的请求中,我使用Pre-request Script 来更新值:
var mail = pm.environment.get("mail_randomizer");
pm.environment.set("mail_randomizer", Number(mail) + 1);
在 Postman 中发送此请求后,mail_randomizer 变量的值增加了 1,但在使用 Newman 运行请求后,它不起作用。
如何在 Newman 中正确导出环境?
【问题讨论】:
-
“它不起作用”是什么意思?发生什么了?你能提供你所看到的任何图像吗? Newman 环境导出命令对我来说很合适。
-
环境中的变量没有更新
-
是的,我明白了...查询会发生什么?它是否使用更新的值运行但没有导出新值?您可能进行的任何测试是否失败?需要更多详细信息才能知道发生了什么。
-
下一个查询将不起作用,因为我的值应该是唯一的。所以,我在 Newman 日志中收到了一个红色的失败断言。但是如果我在 Postman 中重新发送这个请求,我的变量将被成功更新并可供 Newman 测试使用。第一个测试将通过,因为我的值仍然是唯一的,但在那之后,下一个 Newman 测试将失败,因为我的值不会在环境中更新。
-
@EugeneTruuts 你能分享发生这种情况的集合吗?撤回任何敏感信息。 (如果需要,请将 url 替换为 postman-echo.com)
标签: api testing postman qa newman