google-chrome - 柏树 | 由于跨源而进行登录测试的问题
问题描述
我的公司切换到 B2C,现在登录是通过另一个网站的重定向来执行的。出于这个原因,我现在可以使用的登录测试给了我一个跨源错误。
已经尝试将 chromeWebSecurity: false 添加到 cypress.json 并且没有区别。
还尝试将其添加到 index.js :
on('before:browser:launch', (browser = {}, launchOptions) => {
// `args` is an array of all the arguments that will
// be passed to browsers when it launches
console.log(launchOptions.args) // print all current args
if (browser.family === 'chromium' && browser.name !== 'electron') {
// auto open devtools
launchOptions.args.push('--auto-open-devtools-for-tabs')
// whatever you return here becomes the launchOptions
return launchOptions
}
if (browser.family === 'firefox') {
// auto open devtools
launchOptions.args.push('-devtools')
return launchOptions
}
})
也没有任何区别。
根据我的阅读,自 2018 年以来,很多人都遇到了这个问题,而赛普拉斯似乎还没有解决这个问题。有点让我紧张,因为我已经为 cypress 编写了很多测试,所以迁移会很苛刻。
你们知道有什么解决方法吗?
这是完整的错误:
CypressError Cypress 检测到页面加载时发生了跨域错误:
阻止来源为“我的公司地址”的框架访问跨域框架。
在页面加载之前,您已绑定到源策略:
我公司的地址
当您的应用程序导航到与上述源策略不匹配的新 URL 时,会发生跨源错误。
如果“协议”、“端口”(如果指定)和/或“主机”(除非是同一个超级域)不同,则新 URL 与源策略不匹配。
Cypress 不允许您在单个测试中导航到不同的源 URL。
您可能需要重组一些测试代码以避免此问题。
或者,您也可以在基于 Chromium 的浏览器中禁用 Chrome 网络安全,这将通过在 cypress.json 中设置 { chromeWebSecurity: false } 来关闭此限制。了解更多
解决方案
推荐阅读
- html - 如何使用jQuery关闭该元素的点击之外的元素?
- python - 理解这个 kivy 程序的确切错误告诉我的问题
- linux - RAD SERVER 10.4.1 “E2597(SystemPath)\ld-linux.exe: 错误: 找不到 -lz” 部署到 Linux 64
- python - 我正在尝试在 Python 中运行这个程序,但我无法执行 def
- java - 从 unix 命令行运行 jar 文件
- cuda - Cuda GPUassert:遇到非法内存访问
- node.js - CircleCI 在 fs-extra node_modules 失败
- jquery - 基础 XML(使用 Jquery 提取)
- python - raise ValueError("Input contains NaN") ValueError: Input contains NaN 在尝试构建机器学习模型时
- flutter - 从 Flutter 中打开 Google 地图并选择地点