如何在Nightwatch.js中绕过“您的连接不是私密连接”提示?
解决Nightwatch.js访问localhost自签名证书的私密连接提示问题
调整Chrome配置参数
你当前的参数存在冗余或格式问题,建议修改nightwatch.conf.js中的Chrome配置,确保参数正确且完整:
chrome: { desiredCapabilities: { browserName: 'chrome', 'goog:chromeOptions': { w3c: true, args: [ '--no-sandbox', '--ignore-certificate-errors', '--ignore-ssl-errors', '--allow-insecure-localhost', '--disable-web-security' ], excludeSwitches: ['enable-automation'] } } }
- 添加
--disable-web-security:绕过浏览器安全策略,允许加载不安全的本地证书 - 移除
--ignore-ssl-errors=yes的赋值写法,直接使用--ignore-ssl-errors即可 - 添加
excludeSwitches: ['enable-automation']:避免Chrome检测到自动化环境触发额外安全限制
自动处理证书警告页面
如果参数配置仍不生效,可在测试代码中加入自动跳过警告的逻辑:
module.exports = { '测试localhost站点': function(browser) { browser .url('https://localhost') // 等待警告页面的"高级"按钮出现 .waitForElementVisible('#details-button', 5000) .click('#details-button') // 等待"继续访问"链接出现并点击 .waitForElementVisible('#proceed-link', 5000) .click('#proceed-link') // 后续测试逻辑 .assert.titleContains('目标站点标题') .end(); } };
- 注意:元素选择器可能随Chrome版本略有变化,可通过开发者工具确认按钮的准确ID或选择器
将自签名证书导入Chrome受信任根证书库
- 打开Chrome设置,进入「隐私和安全」→「安全」→「管理证书」
- 在「受信任的根证书颁发机构」标签页,点击「导入」
- 选择你的自签名证书文件,按照向导完成导入操作
- 重启Chrome和Nightwatch测试,浏览器会信任该证书,不再弹出警告
内容的提问来源于stack exchange,提问作者CJe
相关产品推荐
相关产品推荐

