¿Cómo ejecuto el postman newman en el entorno de CI?

Me gustaría ejecutar newman en mi entorno CI (solano-ci).

newman es una herramienta que se ejecuta a través de solicitudes en su colección de cartero.

Tengo un script newman en mi package.json , y también tengo un npm start que inicia el servidor en localhost:3000 .

newman ya está configurado con variables de entorno para probar los puntos finales en el puerto localhost:3000 .

El problema es que necesito un script que inicie el servidor ( npm start ) y luego ejecute npm run newman . Pero hay un retraso entre cuando el servidor está disponible y cuando newman ejecuta sus pruebas. Si newman ejecuta antes de que el servidor esté disponible, se producirá un error para cada prueba.

 Error: connect ECONNREFUSED 127.0.0.1:3000 

Ahora mismo, aquí está lo que intenté usar run-p que funciona al iniciar dos procesos en paralelo. Luego tengo que usar el modo de espera y establecer un número arbitrario de tiempo de espera para garantizar que el servidor esté listo.

 "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" 

Puede utilizar el paquete de espera .

 npm install --save-dev wait-on 

Entonces,

 "newman-sleep": "wait-on http://localhost:3000 && npm run newman" 
    Intereting Posts