【问题标题】:How can I launch a new tab and then continue with my script execution?如何启动一个新选项卡,然后继续执行我的脚本?
【发布时间】:2014-07-28 14:39:42
【问题描述】:

在执行场景时,我需要在浏览器中启动一个新选项卡并执行我的脚本。我们可以使用 Cucumber Page Object 来实现它吗?

我还需要间歇性地与新旧标签进行交互。请帮我解决这个问题。谢谢。

【问题讨论】:

    标签: ruby cucumber pageobjects page-object-gem


    【解决方案1】:

    如果您的测试作为其操作的一部分启动新标签,那么这个答案应该可以帮助您切换到新标签 - Controlling new tab to operate using Watir? (Ruby)

    如果您想打开一个新的浏览器实例来完成测试的其他部分,那么您可以使用 watir 创建第二个浏览器。例如

    @browser = Watir::Browser.new :firefox
    @second_browser = Watir::Browser.new :firefox
    

    然后将相关的浏览器实例传递给你的页面对象构造函数

    my_page_object = MyPageObjectClass.new(@second_browser)
    

    【讨论】:

      【解决方案2】:

      尝试使用这样的东西:

      page.driver.browser.switch_to.window (page.driver.browser.window_handles.last)

      switch_to 是一种 selenium 方法,可让您将上下文更改为新窗口。 window_handles 是当前打开的窗口的列表。

      “在窗口和框架之间移动”部分中的Selenium docs 中的更多详细信息。文档适用于 javascript,但也有 Ruby Bindings

      【讨论】:

        猜你喜欢
        • 2011-08-03
        • 1970-01-01
        • 2014-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-14
        相关资源
        最近更新 更多