Chrome - 通过 Selenium 启动浏览器时禁用自动登录

Chrome - disable autologin when launching browser through Selenium

我们正在对 Intranet 应用程序进行自动化测试。 Chrome 当我们访问网站时,浏览器会自动登录(通过 NTLM 登录)。我们需要通过自动化测试以不同的用户登录。

我们使用标志“--auth-scheme="digest"”来限制 Chrome 使用 NTLM。

args = ['--auth-schemes=digest']
Capybara::Selenium::Driver.new(app, browser: :chrome, args: args)

但看起来这个选项已在 Chrome v41 中删除。 Related Issue

在 Chrome 的新版本中有没有其他方法可以实现相同的目的?

我找到了一种在注册表帮助下限制 AuthSchemes 的方法。我仍然会寻找更好的方法。

AuthSchemes 可以根据此 link 通过注册表设置进行控制。 https://dev.chromium.org/administrators/policy-list-3#AuthSchemes

我创建了两个文件,运行 disable_chrome_ntlm_login.reg 文件限制了 AuthSchemes

1) disable_chrome_ntlm_login.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"AuthSchemes"="basic,digest"

2) enable_chrome_ntlm_login.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"AuthSchemes"="basic,digest,ntlm,negotiate"

运行 "disable_chrome_ntlm_login.reg" 文件以在测试前禁用 NTLM 身份验证方案并 "enable_chrome_ntlm_login.reg" 将 Chrome 恢复到旧状态。