我们正在对一个内部网应用程序进行自动化测试。Chrome浏览器在我们访问网站时自动登录(通过NTLM登录)。我们需要通过自动化测试以不同的用户登录。
我们使用标志'——auth-scheme="digest"'来限制Chrome使用NTLM。
args = ['--auth-schemes=digest']
Capybara::Selenium::Driver.new(app, browser: :chrome, args: args)
但是看起来这个选项已经在Chrome v41中被删除了。相关问题
有没有其他的方法来实现相同的新版本的Chrome?
我找到了一种在注册表的帮助下限制AuthSchemes的方法。我仍然会寻找更好的方法来做这件事。
根据这个链接,AuthSchemes可以通过注册表设置来控制。https://dev.chromium.org/administrators/policy-list-3 authscheme我创建了两个文件并运行disable_chrome_ntlm_login。reg文件限制AuthSchemes
1) disable_chrome_ntlm_login.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREPoliciesGoogleChrome]
"AuthSchemes"="basic,digest"
2) enable_chrome_ntlm_login.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREPoliciesGoogleChrome]
"AuthSchemes"="basic,digest,ntlm,negotiate"
" disable_chrome_ntlm_login运行。"enable_chrome_ntlm_login. reg"文件在测试前禁用NTLM身份验证方案。