纽曼+ Postmant通过命令行指定单个环境变量

ehxuflar  于 2022-11-07  发布在  Postman
关注(0)|答案(5)|浏览(142)

我正在使用纽曼和postman来运行一套postman请求和相关的测试脚本。
我有一个环境变量,它是一个敏感的信息,我不能将其存储在磁盘上(因此我不能在JSON测试文件中声明它)。我需要有一个简单的方法将它传递到测试中。
我希望在运行测试时,在命令行上将一个值作为参数分配给环境变量。
我这样做测试:
newman run c:\path\to\test.json passwordEnvVariable=mypassword
我想做这样的事情:
newman run c:\path\to\test.json passwordEnvVariable=mypassword
这种事可能吗?

20jt8wwn

20jt8wwn1#

对于环境变量的用途:

newman run c:\path\to\test.json --env-var passwordEnvVariable=mypassword

根据纽曼的文件:https://www.npmjs.com/package/newman

ovfsdjhp

ovfsdjhp2#

根据纽曼的文档,没有这样的选项,现在传递环境变量的唯一方法是传递一个文件路径或URL。
但是,@michaelajr在8天前(5月4日)提出了一个功能请求,这正是你想要的:Pass environment variables on the command line。由于纽曼团队已经承认了此功能,并且在线程中没有发布任何解决方法,因此也不太可能找到解决方法。
希望纽曼能尽快添加这个功能。

au9on6nz

au9on6nz3#

请尝试此键:

--global-var <value>            Allows the specification of global variables via the command line, in a key=value format
cvxl0en2

cvxl0en24#

您可以使用newman run collection.json --global-var "<global-variable-name>=<global-variable-value>"

bvk5enib

bvk5enib5#

我通过postman的API运行我的collection,在中也从API运行一个environment,然后在本地覆盖一个变量。我用used this answer来查找我的uid。然后在将POSTMAN_API_KEY添加到我的.zshrc文件后运行类似如下的代码

newman run "https://api.getpostman.com/collections/$uid?apikey=$POSTMAN_API_KEY" \
    --env-var "password=mypassword" \
    # environment file needs to be after local values
    --environment "https://api.getpostman.com/environments/$uid?apikey=$POSTMAN_API_KEY"

相关问题