私は、アサーションを書くのにwatir-webdriverとrspecを使用しています。新しいウィンドウの要素についてアサーションを実行する際にいくつかの問題が発生しています。
これは私が使用している私の方法です:新しいウィンドウで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
のいくつかの種類は、新しいウィンドウを仕様全体を通して開いたままにするために適用できますか?
あなたのWebアプリケーションは、ブラウザを開いて、その後、時間の短い期間の後に、それを閉じているの線に沿って何かを言うために設定の問題でした?そして、すべてのテストを終了する前に実行したいのですか? – titusfortner
@titusfortner、はい - 開かれたウィンドウでアサーションを実行するために探しています – kmancusi
@kmancusi、誰が新しいウィンドウを閉じますか?それはあなたがテストしているアプリケーションですか、それともWatirにそれを閉じるように伝えていますか? Watirがランダムにウィンドウを閉じるのはかなり珍しいことです。あなたのテストの一つが閉鎖を引き起こしていないと確信していますか?窓が閉まる前に常に通過するテストと同じですか? –