【问题标题】:Update environment variable in Postman使用 Newman 更新 Postman 中的环境变量
【发布时间】: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


【解决方案1】:

创建

.env : 假设环境变量

网址 = http://localhost:3000/api

.env.example 应该是

网址 =

在您的测试电话中:

var local-url = process.env.url;

在你的包中添加 json

npm 安装 dotenv

【讨论】:

  • edit您的帖子并修正格式。任何操作系统的代码或 shell 命令都应该缩进四个空格,或者前后加三个反引号 (`)
猜你喜欢
  • 2015-12-30
  • 2017-10-10
  • 2017-02-17
  • 2016-09-24
  • 2018-11-14
  • 2020-06-08
  • 1970-01-01
  • 2021-12-02
  • 2018-06-20
相关资源
最近更新 更多