【问题标题】:Watir Webdriver +Chromedriver: ADFS AuthenticationWatir Webdriver +Chromedriver:ADFS 身份验证
【发布时间】:2015-04-20 15:24:43
【问题描述】:

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

  • 必须使用 HTTPS。
  • 必须使用 Chrome 作为测试浏览器。

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


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

由于声誉限制,我不允许发布图片,但请访问

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

截图。

【问题讨论】:

  • 或者,当页面加载时,焦点在用户名字段上......有没有办法让它输入一串文本而不选择特定元素?这样我就可以让它输入用户名,然后按 Tab,然后输入密码,然后输入。

标签: google-chrome automation watir adfs


【解决方案1】:

当您尝试使用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

作为记录,看起来 RAutomation 可能已被 watir-classic 用于对话处理:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 2019-01-31
    • 2012-01-06
    • 2013-10-18
    • 1970-01-01
    • 2023-03-11
    • 2015-07-26
    • 2016-05-02
    相关资源
    最近更新 更多