新窗口上的rspec断言

时间:2016-07-14 20:08:45

标签: browser rspec watir-webdriver assertions

我使用watir-webdriver和rspec来编写断言。我遇到了在新窗口的元素上运行断言的一些问题。
这是我正在使用的方法:

def open_window
    foobar = @browser.window(:title, 'Foo View')
    return foobar
end

这就是我编写规范的方式:

describe 'testing a new window' do
    it 'opens a new window' do
        open_window.use
        sleep 2 # hackey way of getting it to work so far
    end
    it 'sees elements on page' do
        # code for expectations of elements
        # Several more it blocks
    end
end

发生了什么: 除非我在一段不确定的时间内输入sleep命令,否则在它可以运行所有断言之前,窗口似乎已关闭。是否有某种wait可用于保持新窗口在整个规范中打开?

2 个答案:

答案 0 :(得分:0)

无法发表评论。

当窗口可用时,假设您没有在页面上执行操作,只需在关闭之前将所有内容推送到实例变量中,然后对其执行断言?

不理想,但它可能有用。

答案 1 :(得分:0)

进行了一些重构并且它现在正常运行 - 基本上是设置说#when_present.use

的问题