Tengo dos solicitudes de correos. Esta solicitud de publicación debe ejecutarse hasta que la respuesta sea "createdIsCompleted" == false. Estoy tomando la respuesta createdIsCompleted del segundo problema de publicación. Entonces, ¿cómo puedo ejecutar dos solicitudes en el ciclo while? Por cierto, tengo que esperar el primer problema de publicación antes de que se ejecute el segundo problema de publicación... Sé que no hay un operador de espera en k6. Pero quiero aprender formas alternativas. Este bucle while no funciona como quiero. La respuesta aún devuelve "createdIsCompleted" == true
let createdISCompleted; describe('place products', (t) => { while (createdIsCompleted == false) { http.post(requestUrlAPI + 'PickingProcess.checkCell', JSON.stringify({ cellLabel: `${createdCellLabel}`, pickingReferenceNumber: `${createdpickingProcessReferenceNumber}`, allocatedItemId: `${createdAllocatedItemId}`, }), generateTokenHeader) let placeProductRes = http.post(requestUrlAPI + 'PickingProcess.placeProduct', JSON.stringify({ cellLabel: `${createdCellLabel}`, pickingReferenceNumber: `${createdpickingProcessReferenceNumber}`, pickingToteLabel: `${createdPickingToteLabel}`, productLabel: `${createdProductLabel}`, allocatedItemId: `${createdAllocatedItemId}`, }), generateTokenHeader) createdIsCompleted = placeProductRes.json().isCompleted; break; } });Por cierto, tengo que esperar el primer problema de publicación antes de que se ejecute el segundo problema de publicación ... Sé que no hay un operador de espera en k6
K6 actualmente solo tiene llamadas de bloqueo, por lo que cada publicación terminará por completo antes de que comience la siguiente.
En la pregunta del bucle, tiene dos (tres) problemas:
createdISCompleted está inicializado, por lo que el bucle while nunca se ejecutará porque no es false .S grande en la declaración pero luego tiene una s pequeña en el ciclo while.break al final del ciclo, lo que significa que siempre saldrá después de la primera iteración.