如何启动新选项卡然后继续执行脚本?

时间:2014-07-28 14:39:43

标签: ruby cucumber pageobjects page-object-gem

在执行方案时,我需要在浏览器中启动新标签并执行我的脚本。我们能否使用Cucumber Page Object实现它。

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

2 个答案:

答案 0 :(得分:1)

如果您的测试启动新标签作为其操作的一部分,则此答案可帮助您切换到新标签页 - Controlling new tab to operate using Watir? (Ruby)

如果要打开新的浏览器实例以完成测试的其他部分,那么您可以创建第二个带有watir的浏览器。 e.g。

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

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

my_page_object = MyPageObjectClass.new(@second_browser)

答案 1 :(得分:1)

尝试使用以下内容:

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

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

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