更换新笔记本后Cypress忽略Host文件重定向问题求助
检查
experimentalSessionAndOrigin配置
如果你的测试启用了experimentalSessionAndOrigin,这个特性可能会绕开系统Host文件的重定向。去cypress.config.js(或.ts)里把它设为false,或者调整origin相关逻辑,确保预生产域名被正确映射。强制Cypress使用系统DNS解析
在Cypress配置中添加dnsServer指定本地或系统默认DNS,比如:module.exports = defineConfig({ e2e: { dnsServer: '127.0.0.1' // 换成你的系统DNS地址也可 } })这样能强制Cypress用指定DNS服务,避免它自行将域名解析到生产IP。
清空Cypress所用浏览器的DNS缓存
新笔记本的浏览器可能缓存了生产环境的DNS记录。手动打开Cypress使用的Chrome/Edge,在地址栏输入chrome://net-internals/#dns,点击"Clear host cache"按钮,再重新运行测试。刷新系统DNS缓存
Windows打开命令提示符,执行:ipconfig /flushdnsmacOS/Linux终端执行:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder刷新完成后再启动Cypress测试。
检查浏览器启动参数
看看测试套件是否给Cypress浏览器添加了自定义启动参数,比如--dns-prefetch-disable这类影响DNS解析的内容。有的话先移除,或者直接添加--host-resolver-rules="MAP your-domain.com 预生产IP",强制浏览器完成域名映射。排查安全软件/防火墙
新笔记本的防火墙或安全软件可能会拦截Host文件重定向,或者强制使用自身的DNS解析。暂时关闭这类软件,再测试Cypress能否正确读取Host文件配置。
内容的提问来源于stack exchange,提问作者Jeffrey Burris

