Aurora, miembro de nuestro equipo de trabajo, nos ha hecho el favor de redactar este artículo ya que domina perfectamente este tema.
Solución:
Después de unas horas terminé con una función como esta:
function retryOnFailure(successCode, numberOfRetrys) 1;
var sleepDuration = 1000;
var waitUntilTime = new Date().getTime() + sleepDuration;
if (responseCode.code !== successCode && execCounter <= numberOfRetrys)
while (new Date().getTime() < waitUntilTime)
// Do Nothing -> Wait
console.log('Retrying: ' + request.name + 'nGot: ' + responseCode.code + ' Expected: ' + successCode + 'nWaited: ' + sleepDuration / 1000 + 'sec nRetry Number: ' + execCounter + ' of ' + numberOfRetrys);
execCounter++;
postman.setEnvironmentVariable(key, execCounter);
postman.setNextRequest(request.name);
Uso:
retryOnFailure(404, 4);
Puede configurar un flujo de trabajo de solicitud como este:
Cree una colección con una solicitud, luego:
En la pestaña de pre-solicitud puedes implementar un contador:
// Counter for number of requests
var counter = environment.counter ? _.parseInt(environment.counter) + 1 : 1;
postman.setEnvironmentVariable("counter", counter);
Su pestaña de pruebas se vería así:
const code = (responseCode.code === 200);
if (code === 200 && environment.counter < X)
// Stop execution
tests["Status code is 200"] = code;
postman.setNextRequest();
else
// retry the same request
postman.setNextRequest("Name of this request");
Se puede configurar un tiempo de espera para la solicitud en sí con la CLI de newman:
newman run myCollection.json --timeout-request Y
Comentarios y calificaciones
Si guardas alguna indecisión o disposición de aclarar nuestro división te evocamos ejecutar una nota y con mucho placer lo estudiaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)