Me encontré con un problema con el problema de la ventana gráfica y aún no encontré la solución.
describe('Tests', function () { beforeEach(function () { }); viewports.forEach((viewport) => { it.only(`Test: ${viewport}`, function () { cy.viewportAdjust(viewport); })})}) cy.viewportAdjust(viewport); en mi prueba y funciona, sin embargo, deseo mover cy.viewportAdjust(viewport); antes de beforeEach sección, pero para las pruebas usa el último valor de viewportsArray
No estoy completamente seguro de qué cy.viewportAdjust() , ya que parece ser una función personalizada. Si la función simplemente llama a cy.viewport() o actualiza la ventana gráfica, lo siguiente funcionará. Además, sin saber cuáles son los valores en la viewport , no puedo dar una respuesta completa exacta, pero la idea general es que puede pasar su ancho de ventana o altura de ventana en el bloque it() .
viewports.forEach((viewport) => { it.only(`Test: ${viewport}`, { viewportWidth: viewport }, function () { cy.viewportAdjust(viewport); }) })Voy a responder a esta pregunta exactamente como la pediste. Pero no sugeriría hacerlo de esta manera, aunque sin ver todo lo que está tratando de hacer, no tengo 100% de confianza en esta afirmación.
describe('Tests Viewports', () => { const viewports = ['iphone-6', 'ipad-2', 'ipad-mini'] //insert viewport you wish to test here let x = 0 beforeEach( () => { cy.viewport(viewports[x]) //Do a thing x += 1 }) viewports.forEach( (viewport) => { it(`Tests: ${viewport}`, () => { cy.log(viewport) }) }) })En su lugar, sugeriría eliminar el bloque beforeEach y colocar su código dentro del bloque it.