我使用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
可用于保持新窗口在整个规范中打开?
答案 0 :(得分:0)
无法发表评论。
当窗口可用时,假设您没有在页面上执行操作,只需在关闭之前将所有内容推送到实例变量中,然后对其执行断言?
不理想,但它可能有用。
答案 1 :(得分:0)
进行了一些重构并且它现在正常运行 - 基本上是设置说#when_present.use