newman CLI在teamcity构建中返回“错误:无法获取本地发行者证书”

时间:2018-12-24 13:02:56

标签: node.js ssl ssl-certificate teamcity newman

使用newman nodeJS CLI运行邮递员测试的集合时,出现以下错误:

  

错误:无法获取本地发行者证书

使用以下命令将其作为Teamcity CI构建的一部分运行:

newman run https://www.getpostman.com/collections/<COLLECTION-ID-HERE>

它在Windows上运行,我们有一个企业代理服务器(ZScaler)。

我如何让新人上班?

2 个答案:

答案 0 :(得分:5)

只需在collectionID前面添加--insecure即可:

newman运行https://www.getpostman.com/collections/?apiKey =“ your-Postman-Api-Key”-不安全

另外,当使用json文件触发执行时,只需添加--insecure,因此您的命令应为:

newman运行.postman_collection.json-不安全

答案 1 :(得分:1)

问题是纽曼找不到(或不知道)Windows证书存储区中配置的代理服务器使用的自签名SSL证书。使newman(以及几乎所有最近的nodeJS应用程序)知道证书的最简单方法是使用环境变量:

在Windows上:

SET NODE_EXTRA_CA_CERTS=c:\some-folder\certificate.cer

在Linux上:

export NODE_EXTRA_CA_CERTS=/c/some-folder/certificate.cer

您可能还需要使用HTTP_PROXY=http://example.com:1234 env变量来设置代理服务器网址本身。

或者,可以使用build parameters feature of Teamcity

将环境变量添加到该teamcity构建运行时环境中

请注意,这适用于Node.js 7.3.0及更高版本(以及LTS版本6.10.0和4.8.0)