gpt4 book ai didi

testing - 有没有办法在 Cypress 中更改浏览器区域设置?

转载 作者:行者123 更新时间:2023-12-05 05:58:14 25 4
gpt4 key购买 nike

我在网上四处张望,并在 stackoverflow 上浏览了很多,但似乎找不到这个问题的最新答案。我发现了其他问题here , here , 和 here - 这些解决方案都不再有效。有谁知道这个功能在 Cypress 中是否可用,或者是否有办法强制更改语言环境?谢谢

最佳答案

这不太容易 - 因为这与您将在其中运行测试的浏览器不同。

此外,我认为只有在用户选择特定语言时测试您的应用程序的外观和行为是否正确,您才应该考虑在启动测试 session 时添加参数,例如

http://myapp.com/start?lang=en

然后将所选语言存储在 LocaleStorage 或 Cookie 中,并从那里选择语言,因为它更便携 - 并且您会有用户希望使用与浏览器默认语言不同的语言使用您的应用程序。

仍然,可能有一些场景(例如,如果你想测试,你的应用程序正确检测浏览器语言)可能需要设置浏览器语言,但我建议保留依赖于浏览器配置的测试最低限度。

至少对于 Electron(已通过 Electron 100 验证)和 Firefox(已通过 Firefox 102 验证)而言,这是可能的。它过去也适用于 Chrome,但不再适用于我。

对于电子:

由于 Electron 是与 cypress GUI 一起启动的,因此之后无法更改语言。但是您可以向进程公开环境变量,例如

ELECTRON_EXTRA_LAUNCH_ARGS=--lang=en npx cypress open

以所需的语言环境启动 electron。

对于 Firefox:

在您的 cypress.config.ts 中扩展 defineConfig 以包含这样一个 block :

export default defineConfig({
// ...
e2e: {
// ....
setupNodeEvents(on, config) {
on('before:browser:launch', (browser, launchOptions) => {

if (browser.family === 'firefox') {
launchOptions.preferences['intl.locale.requested'] = "en_US"
return launchOptions
}
}
}
}

只有当您没有在其他语言环境中运行其他 Firefox 实例时,Firefox 安装程序才会起作用。

关于testing - 有没有办法在 Cypress 中更改浏览器区域设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68581525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com