How to set the browser's language in Cypress.io (electron/chrome)?
from Gleb Bahmutov:
you set it during cy.visit using
onBeforeLoad
with something likeObject.defineProperty(navigator, 'language', { value: 'de-GE' })
src: https://gitter.im/cypress-io/cypress?at=5d61408a07d1ff39f8769545
To set the language in the browser and also for request, which was what I had to do for my tests, the following worked for me:
cy.visit('url', {
onBeforeLoad(win) {
Object.defineProperty(win.navigator, 'language', { value: 'de-DE' });
Object.defineProperty(win.navigator, 'languages', { value: ['de'] });
Object.defineProperty(win.navigator, 'accept_languages', { value: ['de'] });
},
headers: {
'Accept-Language': 'de',
},
});