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

117
Vistas
Cómo ejecutar la misma prueba para diferentes URL en Cypress

Tengo alrededor de 7 archivos de prueba y un total de 60 casos de prueba que deben ejecutarse para 2 URL.

La forma 1 es: bucle en cada prueba, por lo que cada prueba se ejecutará para 2 URL y la URL que estoy pasando como argumento. Pero eso requiere forEach en cada prueba.

Forma 2: intenté abrir la URL en beforeEach() como se muestra a continuación:

 describe('Your Finance Page tests', () => { beforeEach(() => { brands.forEach(function (brand) { openUrl(brand) }); });

Está abriendo la marca para cada prueba, pero está ejecutando la prueba solo para 1 marca. Al igual que antes de cada prueba, abre la marca A, luego la marca B y ejecuta la prueba solo en la marca B.

¿Hay alguna forma mejor de hacer esto que no sea escribir forEach en cada prueba?

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

0

El bucle for probablemente funcionará si es externo a los beforeEach() e it() .

Este artículo Pruebas dinámicas de Cypress Fixture describe el patrón en detalle.

 const brandUrls = [...] describe('Test each brand', () => { brandUrls.forEach(brandUrl => { beforeEach(() => { cy.visit(brandUrl) }) it(`tests url ${brandUrl}`, () => { ... }) }) })

Tenga en cuenta que sus marcas deben estar codificadas de forma rígida o leerse desde un accesorio usando require() o import en la parte superior de la especificación.

En cuanto a aplicarlo a múltiples especificaciones, sí, agréguelo a cada especificación (para simplificar).


ciprés-cada paquete

El paquete Cypress-each hace algo similar, pero tiene capacidades ampliadas.

 import 'cypress-each' // create a separate test for each brand const brands = [...] it.each(brands)('test %s brand, (brand) => { cy.visit(brand) ... // assertions })
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