我使用 selenium-webdriver 和 ruby 来编写自动化测试。
Chrome 和 chromedriver 二进制文件工作得很好,但我在 Firefox 上遇到了一个与浏览器配置相关的问题,这导致我的测试失败,而 Chrome 则通过了。
在 Firefox 中执行测试时,有时我会收到一条带有以下消息的警报:
尽管此页面已加密,但您输入的信息是
通过未加密的连接发送,并且可以很容易地被读取
第三方
它破坏了执行。有没有办法在最新的 Firefox 版本(10+)中禁用此警告或使用 Selenium 处理此行为?
在寻找解决方案的过程中,我想我可能发现了 Capybara (v1.1.2) 中的一个错误。
我设法使用以下方法解决了这个问题,而不是使用click
从水豚(这不允许我捕获异常),我开始使用click
来自 selenium-webdriver 的方法。
看来当 Firefox 触发此警报框时,会出现一个带有消息的字符串
尽管此页面已加密,但您输入的信息是
通过未加密的连接发送,并且可以很容易地被读取
第三方
被返回作为结果object.native.click
,否则字符串
ok
被返回。
# Define the click method in ruby and call it when you're executing a 'click'
# Public: Click the object.
#
# object - Capybara::Node::Element object to click.
def click object
return_string = object.native.click
check_firefox_alertbox if return_string == "ok"
end
def check_firefox_alertbox
if @current_browser == :firefox
@session.driver.browser.switch_to.alert.accept
end
rescue Exception => e
puts e
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)