我如何在 CI 环境中 运行 postman 的 newman?
How do I run postman's newman in CI environment?
我想在我的 CI 环境 (solano-ci) 上 运行 newman
。
newman
是一个工具,可以 运行 通过您的 postman 集合中的请求。
我的 package.json
中有一个 newman
脚本,我还有一个 npm start
脚本在 localhost:3000
启动服务器。
newman
已经配置了环境变量来测试端口 localhost:3000
.
上的端点
问题是我需要一个脚本来启动服务器 (npm start
),然后 运行s npm run newman
。但是在服务器可用和 newman
运行 测试之间存在延迟。如果在服务器可用之前 newman
运行 秒,它会导致每次测试都出错。
Error: connect ECONNREFUSED 127.0.0.1:3000
现在这是我尝试使用 run-p
的方法,它可以并行启动两个进程。然后我必须使用 sleep
并设置任意数量的等待时间以确保服务器准备就绪。
"newman": "newman -c ./postman/api.postman_collection.json -e ./postman/local.postman_environment.json",
"newman-sleep": "sleep 10 && npm run newman",
"newman-server": "run-p start newman-sleep"
您可以使用 wait-on 包。
npm install --save-dev wait-on
然后,
"newman-sleep": "wait-on http://localhost:3000 && npm run newman"
我想在我的 CI 环境 (solano-ci) 上 运行 newman
。
newman
是一个工具,可以 运行 通过您的 postman 集合中的请求。
我的 package.json
中有一个 newman
脚本,我还有一个 npm start
脚本在 localhost:3000
启动服务器。
newman
已经配置了环境变量来测试端口 localhost:3000
.
问题是我需要一个脚本来启动服务器 (npm start
),然后 运行s npm run newman
。但是在服务器可用和 newman
运行 测试之间存在延迟。如果在服务器可用之前 newman
运行 秒,它会导致每次测试都出错。
Error: connect ECONNREFUSED 127.0.0.1:3000
现在这是我尝试使用 run-p
的方法,它可以并行启动两个进程。然后我必须使用 sleep
并设置任意数量的等待时间以确保服务器准备就绪。
"newman": "newman -c ./postman/api.postman_collection.json -e ./postman/local.postman_environment.json",
"newman-sleep": "sleep 10 && npm run newman",
"newman-server": "run-p start newman-sleep"
您可以使用 wait-on 包。
npm install --save-dev wait-on
然后,
"newman-sleep": "wait-on http://localhost:3000 && npm run newman"