• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

118
Vistas
¿Cómo pausar el script de prueba durante 3 segundos antes de continuar ejecutándolo? Dramaturgo

Estoy ejecutando una prueba llamada crear administrador. La prueba primero creará un administrador, luego verificará si el administrador se creó correctamente.

En el script, tengo una parte del código en la que quiero esperar 3 segundos antes de continuar porque cada vez que se hace clic en el botón Enviar, el sitio web necesitará 3 segundos para actualizar la tabla de administración (lista de información del usuario) después de que se haya realizado la navegación. . Para obtener más información, esta actualización no es una navegación y, por lo tanto, mi 'waitForNavigation()' no funciona.

Por lo tanto, el proceso será como: 'completar el formulario' > 'hacer clic en el botón enviar' > 'esperar navegación' > 'recargar tabla de usuario (3s).

Si no espero 3 segundos para que la tabla se actualice, la prueba arrojará un error porque el usuario registrado no se encontrará en la tabla (tengo otras secuencias de comandos para encontrar al usuario).

Así es como se ve la navegación cuando se hace clic en el botón "Guardar": ingrese la descripción de la imagen aquí

Después de eso, la tabla tarda 3 segundos en actualizarse y se ve así: ingrese la descripción de la imagen aquí

Así es como se ve la función 'crear': ingrese la descripción de la imagen aquí

almost 3 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede envolver setTimeout como Promise y usarlo dentro de funciones asíncronas:

 const delay = ms => new Promise(resolve => setTimeout(resolve, ms))

donde ms - retraso en milisegundos que quieres esperar.

Uso en su código:

 ... await page.click('button :text-is("Save")'); await delay(3000); // <-- here we wait 3s return username;
almost 3 years ago · Juan Pablo Isaza Denunciar

0

Use setTimeout para hacer eso. aquí hay un ejemplo

 function delayedCheck() { const processComplete = true; // set the right boolean here if ( processComplete ) { // Do something } else { setTimeout(delayedCheck, 3000); // try again in 3 seconds } } delayedCheck();
almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda