You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TestCafe测试中禁用Chrome的密码相关弹窗?

如何关闭Chrome在TestCafe测试时弹出的密码相关弹窗

环境信息

  • Testcafe 3.6.0
  • Chrome 版本 125.0.6422.112(正式版本)64位
  • 运行系统:Fedora 40、AlmaLinux 8

问题描述

执行TestCafe测试脚本时,填写用户名密码并提交后页面刷新,Chrome会弹出两个独立于页面内容的弹窗:

  1. “检查已保存密码”弹窗
  2. “保存密码?”弹窗

这些弹窗由窗口管理器管理,目前未发现干扰测试执行,但屏幕上持续显示十分烦人。我使用的是本地测试环境的通用测试凭据,密码安全性不高,但不想为了消除弹窗特意更换密码,希望通过Chrome命令行参数或TestCafe的Runner配置对象直接在测试期间禁用这些弹窗。

此前找到过2020年的手动方案,需要进入Chrome设置取消勾选相关选项,但希望实现自动化配置。

解决方法

1. 可用的Chrome命令行参数

组合以下参数可同时禁用两类弹窗:

  • --password-store=basic:禁用Chrome密码存储提示与安全检查功能
  • --disable-features=PasswordManagerUI:关闭密码管理器UI组件,阻止相关弹窗触发
  • --disable-save-password-bubble:直接禁用“保存密码”气泡弹窗

2. 在TestCafe中配置传递参数

方式一:通过Runner API配置

在TestCafe Runner代码中指定浏览器时附加参数:

const createTestCafe = require('testcafe');

(async () => {
    const testcafe = await createTestCafe('localhost', 1337, 1338);
    try {
        const runner = testcafe.createRunner();

        const failedCount = await runner
            .src(['tests/'])
            .browsers('chrome --password-store=basic --disable-features=PasswordManagerUI --disable-save-password-bubble')
            .run();

        console.log('Tests failed: ' + failedCount);
    }
    finally {
        await testcafe.close();
    }
})();

注:如果使用无头模式,将chrome改为chrome:headless即可

方式二:通过TestCafe配置文件

在项目根目录的.testcaferc.json中添加配置:

{
  "browsers": "chrome --password-store=basic --disable-features=PasswordManagerUI --disable-save-password-bubble"
}

参数验证

上述参数组合可同时屏蔽两类密码相关弹窗,无需手动修改Chrome设置。若某参数在新版本Chrome中失效,可尝试单独或组合使用剩余参数。

内容的提问来源于stack exchange,提问作者Neek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:04:51