【问题标题】:Newman not using environment variables纽曼不使用环境变量
【发布时间】:2018-04-18 16:41:42
【问题描述】:

我有一个 Postman 集合,我正在尝试与 newman 合作,但我的环境变量没有被使用。

请求 URL 只是 {{url}},然后我有一个同名的环境变量。我正在用这个命令运行我的测试:

newman run <path to collection> -e <path to env file> -r json --reporter-json-export <report path>

我可以在报告中看到环境文件被正确读取并且包含我要使用的变量,但是请求失败并且报告显示请求是“url”:“https://{{url }}" 而不是我真正想要的。

当然请求失败是因为“https://{{url}}”不是一个有效的 URL,然后我的所有测试都因为请求失败而失败。当我直接从 Postman 运行集合时,这一切正常 - 我的请求发送到我想要的服务器并且我的测试按预期通过。

【问题讨论】:

    标签: postman newman


    【解决方案1】:

    我的 URL 环境变量最初都使用 subdomain1.domain.com 格式。只是为了它,我将请求中的 URL 更改为 https://{{url}}.domain.com 并将环境变量更改为仅使用子域。然后我再次导出所有内容并运行 newman,它成功了。

    不确定我是否偶然发现了 newman 的错误,或者 URL 中的环境变量使用没有正确记录,但至少我的设置工作正常。

    【讨论】:

      【解决方案2】:

      遇到了类似的错误消息,例如

      DELETE /my-api/some-endpoint
        DELETE {{apiRoot}}/my-api/some-endpoint [errored]
           getaddrinfo ENOTFOUND {{apiroot}}
      

      这有点奇怪,因为我的 JSON 中有环境变量,但我认为环境 json 格式只是键/值对,但它实际上应该是邮递员格式,例如:

      {
          "id": "12345678-1234-1234-1234-123456789012",
          "name": "Environment X",
          "values": [
              {
                  "key": "apiRoot",
                  "value": "localhost",
                  "enabled": true
              }
          ],
          "_postman_variable_scope": "environment",
          "_postman_exported_at": "2021-01-01T00:00:00.000Z",
          "_postman_exported_using": "Postman/9.0.2"
      }
      

      【讨论】:

        猜你喜欢
        • 2020-12-14
        • 1970-01-01
        • 2020-11-19
        • 2020-03-18
        • 2018-03-11
        • 2019-04-13
        • 1970-01-01
        • 1970-01-01
        • 2013-12-31
        相关资源
        最近更新 更多