Cypress使用cy.visit()访问adobe.com出现ESOCKETTIMEDOUT错误求助
解决Cypress访问Adobe网站出现ESOCKETTIMEDOUT的设置调整方案
1. 调整Cypress网络超时配置
在项目根目录的cypress.config.js(或cypress.config.ts)中延长各类超时时间,适配Adobe网站的加载需求:
const { defineConfig } = require("cypress"); module.exports = defineConfig({ e2e: { defaultCommandTimeout: 60000, // 命令超时延长至60秒 pageLoadTimeout: 120000, // 页面加载超时延长至120秒 requestTimeout: 60000, // 请求超时延长至60秒 }, });
2. 临时禁用Cypress Web安全设置
Adobe网站可能存在严格的跨域或CSP限制,可临时关闭Web安全排查问题:
module.exports = defineConfig({ e2e: { chromeWebSecurity: false, }, });
注意:此设置仅用于测试排查,生产环境测试不建议长期开启
3. 检查并调整系统代理配置
即使未开启防火墙,MacOS可能默认启用代理服务,可先关闭系统代理:
- 打开「系统设置」→「网络」→ 选中当前网络→「详细信息」→「代理」,取消所有代理选项的勾选。
如果网络必须走代理,在Cypress配置中添加代理信息:
module.exports = defineConfig({ e2e: { proxyUrl: "http://your-proxy-address:port", // 替换为实际代理地址 // 需认证时添加: // proxyUsername: "your-username", // proxyPassword: "your-password", }, });
4. 更换Cypress测试浏览器
不同浏览器的网络栈处理逻辑存在差异,切换至Cypress内置的Chrome、Firefox或Edge浏览器重新执行测试:
- 在Cypress测试运行器顶部点击浏览器选择按钮,切换后重新运行用例。
5. 重置MacOS网络配置
执行以下命令重置系统网络缓存,修复潜在的网络配置异常:
sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
执行完成后重启电脑,再尝试运行Cypress测试。
6. 验证网站基础可访问性
先在本地浏览器手动访问https://www.adobe.com/,确认是否能正常加载:
- 若浏览器也超时,说明是网络本身问题,联系网络服务商排查;
- 若浏览器能正常访问,再聚焦Cypress的配置调整。
内容的提问来源于stack exchange,提问作者webghost
相关产品推荐
相关产品推荐

