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

201
Vistas
Cómo ejecutar el conjunto de pruebas en paralelo pero no las pruebas individuales

Estoy usando Playwright.dev para automatizar nuestras pruebas de interfaz de usuario. Actualmente me enfrento al siguiente problema:

En un solo archivo spec.ts tengo diferentes conjuntos de pruebas. Esos conjuntos de pruebas deben ejecutarse en paralelo, pero no en cada prueba. No puedo dividir esos conjuntos de pruebas en archivos separados porque se crean dinámicamente. La razón por la que quiero ejecutar las pruebas de cada serie de conjunto de pruebas es para reutilizar la página existente. Porque es mucho más rápido simplemente reutilizar la página sin hacer una actualización completa de la página todo el tiempo. Intentaré explicar mi problema con algún pseudocódigo:

 catalogs.forEach((objectIdsOfCatalog, catalogId) => { // each suite could run in parallel because they do not // depend on each other test.describe('Test catalog "' + catalogId + '"', () => { let newVersion: PageObject; let actualVersion: PageObject; test.beforeAll(async ({browser}) => { console.log('New page for', catalogId); const {actualUrl, newUrl} = getConfig(); const context = await browser.newContext(); actualVersion = new PageObject(await context.newPage(), actualUrl); newVersion = new PageObject(await context.newPage(), newUrl); }); test.afterAll(async () => { console.log('Close page for', catalogId); actualVersion.close(); newVersion.close(); actualVersion = null; newVersion = null; }); // those tests should ran serial because it's faster // if we just navigate on the existing page due to the // client side caching of the web app for (const objectId of objectIdsOfCatalog) { test('Testing "' + objectId + '"', async () => { }); } }); });

¿Hay alguna forma de lograr el siguiente comportamiento en Playwright o tengo que repensar mi enfoque?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No sé si se pueden anidar varios bloques test.describe.serial en un test.describe.parallel (y si eso funciona), pero tal vez valga la pena intentarlo.

Otra opción podría ser no generar pruebas reales, sino solo generar pasos (test.step) dentro de las pruebas dentro de un bloque test.describe.parallel.

¿Y de dónde vienen los catálogos? Tal vez en lugar de generar bloques de descripción, ¿podría generar proyectos en playwright.config.ts? Los proyectos se ejecutan en paralelo por defecto, creo. Pero no sé si ese enfoque funcionaría si los datos provienen de alguna fuente asíncrona.

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