postman 纽曼不使用环境变量

798qvoo8  于 8个月前  发布在  Postman
关注(0)|答案(3)|浏览(103)

我有一个Postman集合,我试图让它与纽曼一起工作,但是我的环境变量没有被使用。
请求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运行集合时,这一切都工作得很好-我的请求会发送到我想要的服务器,并且我的测试会按预期通过。

mzillmmw

mzillmmw1#

我的URL的环境变量最初都使用格式 * subdomain1.domain.com *。只是为了好玩,我把请求中的URL改为 https://{{url}}.domain.com,并把环境变量改为只使用子域。然后我再次导出所有内容并运行纽曼,它起作用了。
不确定我是否偶然发现了纽曼的一个bug,或者URL中的环境变量使用没有正确记录,但至少我让我的设置工作了。

raogr8fs

raogr8fs2#

有一个类似的错误消息,如

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

这有点奇怪,因为a在我的JSON中有环境变量,但我假设环境JSON格式只是键/值对,但它实际上应该是 Postman 格式,如:

{
    "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"
}
vwkv1x7d

vwkv1x7d3#

我有这个问题,因为我在Azure DevOps管道文件中有一个多行脚本,并且忘记了前面的一行中的\,即。

newman run "xxx.postman_collection.json" \
        --folder "yyy" \
        -r cli,junit 
        --environment "zzz.postman_environment.json"

缺少的\使--environment无法生效(因为它认为命令已经结束)。
这样做奏效了:

newman run "xxx.postman_collection.json" \
        --folder "yyy" \
        -r cli,junit \
        --environment "zzz.postman_environment.json"

相关问题