如何更改赛普拉斯浏览器的语言?

时间:2020-10-09 16:59:41

标签: cypress

我正在尝试使用电子 浏览器在赛普拉斯上运行测试,但是系统语言会根据浏览器的语言进行更改。这使测试失败。

我尝试覆盖下面的代码中的visit方法,但是没有用。

/ commands.js
Cypress.Commands.overwrite("visit", (originalVisit, url, options = {}) => {
  console.log('calling cy.visit')
  const opts = {
    onBeforeLoad: (win) => {
      Object.defineProperty(win.navigator, 'language', {
        value: 'pt-BR'
      })
    },
    onLoad: (win) => {
      console.log('onLoad')
    }
  }
  return originalVisit(url, opts)
})

我的问题是:有什么方法可以将浏览器配置为始终以特定语言启动?

1 个答案:

答案 0 :(得分:0)

尝试修改您的浏览器启动首选项。对于您的特定情况,这段代码可能会有用:

on('before:browser:launch', (browser, launchOptions) => {
   if (browser.family === 'chromium') {
     launchOptions.preferences.default.intl = { accept_languages: 'pt-BR' };
     return launchOptions;
   }
});

https://docs.cypress.io/api/plugins/browser-launch-api.html#Modify-browser-launch-arguments-preferences-and-extensions