Watir Webdriver +Chromedriver:ADFS 身份验证

Watir Webdriver +Chromedriver: ADFS Authentication

我正在尝试加载一个页面,该页面调用 ADFS 以进行身份​​验证。在页面加载时,有一个重定向,然后弹出窗口以输入凭据。

因此,加载页面时一切正常,但在 运行 测试时我不得不手动输入凭据。输入凭据后一切正常,但有没有办法利用 Watir 为我输入?我已经尝试将 username:password 弹出到 link 中,但没有成功,因为我真的需要使用 Chrome,所以 Firefox 插件没有实际意义。


require 'watir-webdriver'
b = Watir::Browser.new :chrome
b.goto 'https://internalUAT.clientwebsite.com/'
b.link(:text => 'HR Dashboard').click

由于声誉限制,我不能 post 图片,但请访问

https://i.imgur.com/ExVt8fp.png

截图。

当您尝试使用 https://user:pass@foo.com 技术传递凭据时,您的用户名或密码中是否有任何异常字符? (也许您有 DOMAIN\username 域前缀?)

如果是这样,您可能需要确保凭证字符串中的任何此类字符都已正确转义。

如果这不是问题所在,并且没有其他方法可以为您的测试禁用身份验证提示,那么您最好的选择 (IMO) 是编写一个单独的脚本(或线程)使用 RAutomation(或其他一些 UI 您选择的自动化库)输入您的凭据并单击“登录”按钮。

参见 https://github.com/jarmo/RAutomation

以下文件中的测试用例包含使用 RAutomation 的 send_keys 方法的示例,这些方法可能很有用:

https://github.com/jarmo/RAutomation/blob/master/spec/window_spec.rb

郑重声明,watir-classic 可能已使用 RAutomation 进行对话处理:

https://github.com/watir/watir-classic/blob/master/lib/watir-classic/modal_dialog.rb

http://www.rubydoc.info/github/watir/watir-classic/Watir/ModalDialog