如何处理watir中的弹出安全警报

时间:2014-03-17 08:02:36

标签: ruby cucumber watir watir-webdriver

花了一整天的时间试图弄清楚如何处理Watir中的安全弹出警报,我基本上已经碰壁了。

我正在尝试在该日志中创建一个非常简单的脚本到这个HTTPS站点,这会抛出这个我无法通过的弹出警报。

要查看此消息,请在此网站上键入:“安全警告弹出窗口”“https://www.google.com/cse/home?cx=007267089725385613265:gmydx5gtw6u

我试过的是:

  1. 在Firefox中的“about:config”中完全禁用此消息,但这是不可能的,因为无论如何警告仍然会弹出。

  2. 我试图要求在此页面上找到“WindowsHelper”和“WindowsClicker”:http://rubyforge.org/pipermail/wtr-general/2007-February/009181.html 我看到那份文件相当陈旧。

  3. 还找到了一个使用消息框中的“.use”然后单击它的示例,但这没有帮助。

  4. 在2和3中,我写的代码可能是错的,因为我不是Watir的专家。

    我现在的代码如下:

    require 'rspec'
    require 'watir-webdriver'
    
    SITE = "https://anypage.com"
    BROWSER = Watir::Browser.start(SITE, :firefox)
    
    Given /^I am on the login page for anypage$/ do
        BROWSER.goto(SITE)
    end
    
    When /^I successfully log in as a user$/ do
    
        BROWSER.text_field(:name => 'UserName').set 'USERNAME'
        BROWSER.text_field(:name => 'Password').set 'PASSWORD'
        BROWSER.button(:class => 'btn btn-lg btn-primary btn-block').click
        **MustHandlePopUpHere**
        BROWSER.do_more
    end
    

    我使用WatirWebdriver版本0.6.8和Ruby版本1.9.3,如果这很重要。

1 个答案:

答案 0 :(得分:3)

Watir有一个用于处理警报的API。您可以使用以下方式确认警报:

BROWSER.alert.ok

以下是Watir搜索页面的工作示例:

require 'watir'

# Go to the page
browser = Watir::Browser.new :firefox
browser.goto 'https://www.google.com/cse/home?cx=007267089725385613265:gmydx5gtw6u'

# Input the search
browser.text_field(:id => 'q').set('security alert pop up')
browser.button(:value => 'Search').click

# Confirm the popoup
browser.alert.ok

您可以在以下位置阅读有关警报API的更多信息: