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

如何通过参数禁用Chromium的集成Windows身份验证?原参数已失效

解决Chromium集成Windows身份验证失效及CodeceptJS多用户SSO测试问题

方案一:禁用身份验证协商特性

之前的--auth-server-whitelist="_"参数失效后,可以改用更彻底的Chromium启动参数直接关闭自动身份验证逻辑:

  • 使用--disable-features=AuthNegotiateDelegateWhitelist参数,该参数会完全禁用Kerberos/NTLM的自动协商身份验证,强制页面走手动登录流程。
  • 在CodeceptJS的配置文件codecept.conf.js中添加该参数:
helpers: {
  Puppeteer: {
    url: 'https://你的企业SSO地址',
    browser: 'chromium',
    launchOptions: {
      args: [
        '--disable-features=AuthNegotiateDelegateWhitelist',
        '--no-sandbox' // 本地测试环境可选,解决启动权限问题
      ]
    }
  }
}

方案二:用独立用户数据目录隔离会话

通过为每个测试用户指定单独的Chromium用户数据目录,实现不同用户的SSO会话完全隔离:

  1. 本地创建多个独立目录,比如C:\test-profiles\user-a、C:\test-profiles\user-b,每个目录对应一个测试用户。
  2. 在CodeceptJS配置中通过--user-data-dir指定对应目录:
launchOptions: {
  args: [
    '--user-data-dir=C:\\test-profiles\\user-a',
    '--no-sandbox'
  ]
}
  1. 切换测试用户时,修改--user-data-dir的路径即可,每个目录会存储独立的登录状态、Cookie等数据,不会互相干扰。

方案三:Playwright上下文隔离(推荐)

如果使用Playwright作为CodeceptJS的测试Helper,可以利用其独立浏览器上下文功能,无需重启浏览器即可快速切换用户:

  • 配置示例:
helpers: {
  Playwright: {
    url: 'https://你的企业SSO地址',
    browser: 'chromium'
  }
}
  • 测试代码中创建独立上下文:
Scenario('多用户SSO测试', async ({ I }) => {
  // 第一个用户登录
  const user1Context = await I.createBrowserContext();
  await user1Context.goto('/login');
  await I.fillField('用户名', 'user1');
  await I.fillField('密码', 'user1-pass');
  await I.click('登录');
  // 执行用户1的测试操作
  await user1Context.close();

  // 第二个用户登录
  const user2Context = await I.createBrowserContext();
  await user2Context.goto('/login');
  await I.fillField('用户名', 'user2');
  await I.fillField('密码', 'user2-pass');
  await I.click('登录');
  // 执行用户2的测试操作
  await user2Context.close();
});

每个浏览器上下文拥有独立的存储环境,完全隔离用户会话,适合频繁切换用户的测试场景。

注意事项

  • 测试前建议清理旧的用户数据目录,避免残留的登录会话干扰测试结果。
  • 如果企业SSO有设备绑定限制,可添加--disable-device-discovery-notifications参数辅助绕过。
  • 本地测试时--no-sandbox参数可能需要,否则Chromium可能因权限问题启动失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:55:17