Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

95
Vistas
¿Cómo ejecuto correctamente las pruebas individuales de Playwright desde una matriz dinámica de URL creadas?

Tengo un proyecto CICD de Puppeteer en el que utilizo NodeEnvironment para acceder a nuestro sitio web de pruebas, desplego la lista actual de pruebas xml personalizadas del elemento desplegable que utiliza nuestro equipo de control de calidad y luego construyo dinámicamente una matriz de más de 1200 URL a partir de esto. Luego estaba usando this.global para usar como una matriz de referencia donde luego usaría el agrupamiento para ejecutarlos en paralelo.

Tengo problemas para comprender la forma correcta de completar esta lista y luego ejecutar las pruebas en paralelo. La opción de prueba parametrizada parece estar cerca de lo que quiero, pero necesito una forma de completar la matriz dinámica de direcciones URL antes de saltar al bucle for y parece que la matriz aún no está completa y está tratando de ejecutarse a través del for loop y ejecutar pruebas, incluso cuando se usa una promesa.

Sé que probablemente podría piratear algo para que funcione, pero preferiría saber cuál es la forma adecuada de hacerlo que me permita aprovechar la paralelización que ofrece el dramaturgo.

Actualmente estoy investigando los accesorios de los trabajadores o la fragmentación para ver si me proporciona una forma de lograr esto, pero el problema es que si cada trabajador va al sitio web para completar la matriz, entonces todos tendrán los 1200 casos de prueba, que no ayuda tampoco. Estoy abierto a cualquier idea aquí, pero una cosa importante para decir es que quiero que cada URL tenga su propia prueba, ya que cada prueba tiene una serie de solicitudes de obtención que necesito capturar y realizar comparaciones con los parámetros de consulta.

A continuación se muestra un ejemplo drásticamente minimizado de lo que tengo actualmente:

dinámica.spec.js

 //The object that contains the 1200+ urls that needs to be built at the start let globalUrlObj; test.beforeAll( async () => { globalUrlObj = await setupUrlList(); //<-- This method goes to website and builds list }); // Because globalUrlObj was not waited on above in beforeAll, it is undefined at this point and the execution comes back stating that there are no tests to run if (globalUrlObj && globalUrlObj[config.baseKey] !== undefined) { for (const testUrlObj of globalUrlObj[config.baseKey]){ test(`Testing with url ${testUrlObj.url}`, async () => { // Perform my analysis // ... }); } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Primero lo primero. No es necesario antes de todo por lo que puedo ver. Cómo funcionará en una ejecución en paralelo si tiene antes que todos, cada trabajador que existe se ejecutará antes que todos (no necesita eso, solo lo necesita una vez). Así que solo pon el código fuera de él.

Elija un bucle for regular para la ejecución y agregue i (iterador) que hará que su prueba sea única. Si esto no le ayuda, escriba qué tipo de error enfrenta.

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda