私は、Ajaxリクエストを使用してサーバーからのデータを継続的にポーリングするWebアプリケーションを持っています。 zombie.jsを使用して統合テストを実装したいと思います。zombie.jsでbrowser.wait()を使用するには?
私がしようとしているのは、Ajaxポーリングループがサーバーからデータを受け取るまで待つことです。データは20秒後に受信する必要があるため、browser.wait(done, callback)
を使用してデータがあるかどうかを確認し、waitFor
を最大タイムアウト1分に設定します。
done
コールバックがfalseを返す場合でも、browser.wait()
は常に直ちに返されます。 zombie API documentationで
は、私はおよそbrowser.wait()
以下をお読みください。
...それは、(例えば、ページ状態、ロングポーリングをチェック)特にない繰り返し発射することがタイマーのために、永遠に待つことができません。
私はそれが私が見る動作の理由だと思いますが、何が起こっているのか分かりません。なぜ私のポーリングループがサーバーからデータを受け取るまで1分間待つことができないのですか? browser.wait()
なぜ繰り返し発砲するタイマーを待つことができないのですか?テストを実施するためには何が必要ですか?
これについて新しいことを発見しましたか? –
ちょうど確かめてください:あなたは 'waitFor'のためにミリ秒を使っていますよね?私は経験を話します;)また、「maxWait」についても忘れないでください。 – robertklep
"サーバーからのデータを継続的にポーリングする" - これを制御できれば、 'socket.io'は優れた選択肢になります – jcollum