Solución:
Si entiendo su pregunta correctamente, le gustaría asignar diferentes valores a una variable en la solicitud en diferentes iteraciones que se pueden lograr de 2 maneras.
a) Usando archivos de datos
https://learning.getpostman.com/docs/postman/collection_runs/working_with_data_files/
Los archivos de datos pueden estar en formato JSON o CSV. Desafortunadamente, no hay forma en Postman de vincular los valores de las variables a otra variable a menos que quieras hacerlo de una manera hacky.
b) Scripts de pre-solicitud y pruebas
1- Inicializar la variable de entorno en el Scripts de solicitud previa como esto:
var value = pm.environment.get("var");
if( !value) {
pm.environment.set("var", 1);
}
2- Incrementar el valor de la variable en Pruebas
var value = pm.environment.get("var");
pm.environment.set("var", value+1);
Esto crea una variable de entorno y la incrementa después de cada iteración. Dependiendo de cómo estructura su colección, es posible que deba considerar vaciar / restablecer la variable de entorno para estar listo para la próxima ejecución.
Vale la pena mencionar que Scripts de solicitud previa y Pruebas ejecutándose antes y después de las solicitudes respectivamente, por lo que puede escribir cualquier script que desee ejecutar después de la solicitud en el Pruebas. ¡No debería ser necesariamente una prueba!
1. Usando Global pm.*
funciones y variables en scripts / pruebas de solicitud previa
Script de solicitud previa – se ejecuta antes de ejecutar la solicitud
Pruebas – se ejecuta después de ejecutar la solicitud
una.
pm.variables.set("id", pm.info.iteration);
Ex: example.com/{{id}}/update da
example.com/0/update
example.com/1/update etc …
El número de iteraciones se establece en Collection Runner. pm.info.iteration
La clave tiene el número de iteración actual, comenzando en 0.
B.
var id = +pm.globals.get("id");
pm.globals.set("id", ++id);
Las variables pueden estar en cualquier ámbito: globals
/collection
/environment
/local
/data
.
En Collection Runner, marque el Keep Variable Values
casilla de verificación, para conservar el valor final de la variable en la sesión (aquí id
).
Nota: Si se accede a la variable a través de ámbitos individuales (a través de pm.globals.*
o pm.environment.*
o pm.collectionVariables.*
), la casilla de verificación mencionada debe alternarse según sea necesario. De lo contrario, si se accede a través del alcance local (pm.variables.*
), el valor no se conservará independientemente de la casilla de verificación.
Ej: Igual que arriba
Más sobre variables y alcance
2. Uso de variables dinámicas
Estas variables se pueden utilizar en caso de que se necesiten valores aleatorios o no sea necesario un orden específico.
una. $randomInt
– da un número entero aleatorio entre 1 y 1000.
Ex: example.com/{{$randomInt}}/update da
example.com/789/update,
example.com/265/update etc …
B. $timestamp
– da la marca de tiempo actual de UNIX en segundos.
Ex: example.com/{{$timestamp}}/update da
example.com/1587489427/update
example.com/1587489434/update etc …
Más sobre variables dinámicas
Usando Postman 7.22.1, mientras responde esto. Es posible que aparezcan nuevos métodos en el futuro.