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 恢复到旧状态。
我们正在对 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 恢复到旧状态。