Necesito trabajar en algunas variables en mi proyecto, es necesario. Y como saben, es muy difícil en el ciprés debido al propio sistema de cadena similar a una promesa del ciprés. Por eso, algunas variables pueden venir "sin identificar" por lo que las pruebas no pasarán.
Antes de comenzar a editar: estamos usando pepino pero no estamos dando definiciones de pasos parametrizados porque las pruebas son dinámicas y se ejecutarán en CI. .then() no funciona porque hay muchos pasos de prueba que usan variables. Además, probé la palabra clave "fondo" en pepino y eso no funcionó.
Este es el problema estándar, necesito una solución, ¿cómo puedo obligar a algunas pruebas a esperar a que las variables se llenen y estén listas para leer?
Creo que tal vez los oyentes de eventos pueden funcionar, pero no estoy seguro, realmente no tengo idea de esa situación.
Alguien me puede ayudar con ese problema? ¿O alguien tiene una idea de cómo puedo usar el detector de eventos en los casos de prueba de pepino? Muchas gracias por leer mi difícil pregunta.
var tmr // set variables localStorage.setItem('work_order_id', 10060); localStorage.setItem('current_step', 0); var taskInProggress=false function run_next_test() { taskInProggress=true let currentStep=localStorage.getItem('current_step')*1; console.log("Running task ", currentStep); switch (currentStep) { case 0 : //runStep0().then(response=>{ taskInProggress=false localStorage.setItem('current_step', currentStep+1); //}); /* test */ break; default: // for work empty taskInProggress=false localStorage.setItem('current_step', currentStep+1); break } } function step_listener(){ let currentStep=localStorage.getItem('current_step'); console.log("listen..."); if (taskInProggress) { console.log("Step ",currentStep," still in progress ..."); tmr = setTimeout(step_listener, 1000); return } if (currentStep<10){ currentStep++; run_next_test(currentStep) tmr = setTimeout(step_listener, 1000); }else{ clearTimeout(tmr); console.log("Test finished") } } step_listener();