Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda