3

我有一个 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 运行集合时,这一切都很好 - 我的请求发送到我想要的服务器并且我的测试按预期通过。

4

2 回答 2

2

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

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

于 2017-11-07T14:52:20.870 回答
0

有类似的错误消息,例如

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"
}
于 2021-09-27T10:33:13.950 回答