Mi respuesta incluye una matriz. Necesito usar cada vez un número de identificación diferente en el siguiente requerimiento. Para exp.. si mi primera respuesta es:
{ "params": { "Deposits": [ { "id": "23", "name": "blue" }, { "id": "54", "name": "pink" } ] } }Primero necesito tomar el valor de la identificación del primer depósito (que es 23) e implementarlo en mi siguiente solicitud, ejecutarlo y luego ejecutarlo nuevamente, pero esta vez con el siguiente valor de identificación (que es 54)
Intenté usar un bucle 'for' en mi primera solicitud 'test'
const responseJson = pm.response.json(); var Products = responseJson.params.Deposits; for (var i=0; i<Products.length; i++) { postman.setEnvironmentVariable(Products[i].id) }y en mi segundo cuerpo de solicitud usé
{ "id": "{{Id}}" // neither{{Products[i].id}} worked. At first should be eql to 23 and then 54 "Amount": 2 "date" : null }Pero... no funciona. Me estoy perdiendo algo... ¿Cómo uso los diferentes valores de identificación en el siguiente requerimiento?
Editado: mi colección tiene un total de 4 solicitudes. el flujo es:
Entonces, básicamente está ejecutando la solicitud 1> 2> 3> 4> 2> 3> 4> 2> 3> 4> 2 ... y cada vez que se elige un depósito diferente.
flujo de soporte 1 > 2> 3> 4 > 2> 3> 4> 2 > 3 >4 >2... cuando se usa Postman runner.
Solicitud 1 : obtener una matriz de ids
Test pestaña
const res = pm.response.json(); const ids = _.pluck(res.params.Deposits, 'id'); pm.environment.set('ids', JSON.stringify(ids)); Solicitud 2 : obtener id de ids
Pestaña Pre-request
const ids = JSON.parse(pm.environment.get('ids')); pm.environment.set('id', ids.shift()); pm.environment.set('ids', JSON.stringify(ids)); Body pestaña
{ "id": "{{id}}", "Amount": 2, "date": null }Solicitud 3 : nada
Solicitud 4 : agregue lógica, si se está quedando sin ids , detenga el flujo. De lo contrario, continúe con la solicitud 2.
const ids = JSON.parse(pm.environment.get('ids')); if (ids.length === 0) { postman.setNextRequest(null); } else { postman.setNextRequest("Req2") }