Los siguientes hechos:
Al paso 3: si solo uso el comando 'cy.visit('X);' luego Cypress borra el caché y mis personalizaciones se pierden.
Sé que hay un comando 'Cypress.LocalStorage', pero no sé exactamente cómo usarlo en mi caso.
¡Gracias por tu ayuda!
Creo que puede visitar su página, establecer el valor de almacenamiento local y luego validar la casilla de verificación. Aproximadamente, se vería como:
cy.visit('/projects'); cy.window().then((window) => { window.localStorage.setItem('myLocalStorageItem', value); }) cy.VerifyCheckBox('A', 'checked');No imita el flujo de trabajo de un usuario exacto, pero funciona de la misma manera en general: la casilla de verificación se marca cuando un elemento localStorage se establece en algún valor.
Seguiría el patrón que usa @agoff, pero usaría window:before:load event.
De esa manera detectará cualquier regresión que borre el valor durante la carga de la página.
// verify that CheckboxA sets local storage cy.visit('/projects') cy.checkCheckbox('A') cy.window().then((window) => { expect(window.localStorage.getItem('myLocalStorageItem')).to.eq(value) }) // verify that reload retains localStorage value cy.on('window:before:load', (win) => { // should fire after Cypress clears localStorage window.localStorage.setItem('myLocalStorageItem', value) }) cy.reload() cy.VerifyCheckBox('A', 'checked')He encontrado una segunda solución para mi problema. Agregué al comienzo de mi caso de prueba (en describe, bevor it) esto:
beforeEach(() => { cy.restoreLocalStorage().then(() => { cy.log('Storage restored'); }) }); afterEach(() => { cy.saveLocalStorage().then(() => { cy.log('Storage saved'); }) });¡Espero poder ayudarte con eso! ¡Dejame saberlo!