Fondo:
Hola a todos, tengo una prueba de Cypress que estoy tratando de escribir que debería verificar si se ha llamado a la URL de una imagen, después de que se haya hecho clic en la imagen.
Actualmente ejecuto la prueba y encuentra la URL de la imagen en la primera ejecución, pero cuando se vuelve a ejecutar, la prueba no la encuentra porque la imagen ya se guardó en la memoria caché del navegador.
¿Hay alguna manera de borrar el caché del navegador antes de cada prueba de Cypress para que siempre se llame/encontre la URL de la imagen cuando ejecute la prueba?
Solución actual:
it('should request webp image format for zoomed pdp image', () => { cy.intercept( '**/cdn/cs/set/assets/blt2bd0405f3cb027cb/5005769.jpg?fit=bounds&format=webply&quality=80&width=1600&height=1600&dpr=1.5' ).as('zoomedImageRequest'); cy.gotoPage('product/transparent-red-sorting-case-to-go-5005769'); cy.get(pdp.pdpImage).click(); cy.wait('@zoomedImageRequest').then((xhr) => { const zoomedImageUrl = xhr.response.url; expect(zoomedImageUrl).to.contain('format=webply'); }); });Intente borrar el caché de la red en la parte superior de la prueba,
cy.wrap(Cypress.automation('remote:debugger:protocol', { command: 'Network.clearBrowserCache', })) cy.intercept(...).as('zoomedImageRequest'); cy.gotoPage('product/transparent-red-sorting-case-to-go-5005769'); cy.get(pdp.pdpImage).click(); cy.wait('@zoomedImageRequest').then((xhr) => { const zoomedImageUrl = xhr.response.url; expect(zoomedImageUrl).to.contain('format=webply'); });También hay un encabezado que se puede eliminar, pero encontré que no es consistente
cy.intercept('...', req => { delete req.headers['if-none-match']; })