Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

96
Views
Cypress: ejecute todo el conjunto de pruebas varias veces con diferentes datos

He visto varias publicaciones sobre cómo ejecutar una sola prueba con diferentes parámetros. También está documentado aquí .

Sin embargo, no pude encontrar ningún ejemplo de cómo ejecutar todo el conjunto de pruebas, es decir, pruebas en varios archivos en la carpeta cypress/integration varias veces con datos diferentes.

Mi escenario es que quiero agregar diferentes respuestas de una API a la que estoy llamando y ejecutar todos los casos de prueba contra las diferentes respuestas. Entonces, para la primera ejecución, pondría support/index.js :

 beforeEach(() => { cy.intercept("GET", "example/API", { fixture: "fixture1.json" }); });

y para la 2da corrida pondría:

 beforeEach(() => { cy.intercept("GET", "example/API", { fixture: "fixture2.json" }); });

y así. Todos mis casos de prueba son idénticos para diferentes respuestas y espero que tengan el mismo resultado independientemente de los datos devueltos por la API.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Ejecutar una suite con diferentes parámetros

 cypress run --env fixture=fixture1 // or cypress run --env fixture=fixture2

Variables de entorno de referencia

En soporte/index.js

 beforeEach(() => { const fixtureName = `${Cypress.env('fixture')}.json` cy.intercept("GET", "example/API", { fixture: fixtureName }); })

Espero que tengan el mismo resultado independientemente de los datos devueltos por la API ; no estoy seguro de qué significa eso exactamente, pero para mí sugiere que no tiene que preocuparse por cambiar el accesorio.


Si desea que una sola llamada desde la línea de comandos ejecute todo el conjunto, digamos 3 veces con un dispositivo diferente cada vez, considere usar la API del módulo Cypress

En un archivo de script, por ejemplo, /scripts/run-fixtures.js

 const fixtures = ['fixture1.json','fixture2.json','fixture3.json'] const cypress = require('cypress') fixtures.forEach((fixtureName) => { cypress.run({ reporter: 'junit', browser: 'chrome', config: { baseUrl: 'http://localhost:8080', video: true, }, env: { fixture: fixtureName, }, }) })

Ejecútelo con node /scripts/run-fixtures .

support/index.js es el mismo que el anterior.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!