Правильный способ исправить ошибку - избежать использования файлов cookie, когда они сохраняются приложением. Но если по какой-то причине вы не можете исправить код приложения, возможно, в качестве обходного пути можно использовать команду override visit()
и избежать неправильных файлов cookie в конце каждого запроса:
Cypress.Commands.overwrite('visit', (originalFn, ...args) => {
const [ url, options ] = (() => {
if (typeof args[0] === 'object') {
const { url, ...options } = args[0];
return [ url, options ];
} else {
return args;
}
})();
if (options && options.__original) {
return originalFn(url, options);
} else {
escapeCookie("firstInvalidCookie");
escapeCookie("secondInvalidCookie");
return cy.visit(url, {
...options,
__original: true
});
}
});
function escapeCookie(name) {
return cy.getCookie(name, { log: false }).then(cookie => {
cy.clearCookie(name, { log: false });
if (cookie) {
cy.setCookie(name, encodeURIComponent(cookie.value), {
domain: 'my.domain.com',
log: false
});
}
});
}