私は分度器の e2e テストを書いています。
ptor.sleep(4000)
いつも、時にはもっと長く待つことさえあります。
ptor.wait(function(){return true/false; })
は良い解決策ですが、wait はどのくらいの頻度でコールバック関数をチェックしますか?
これに対するよりエレガントなアプローチはありますか?
私は分度器の e2e テストを書いています。
ptor.sleep(4000)
いつも、時にはもっと長く待つことさえあります。
ptor.wait(function(){return true/false; })
は良い解決策ですが、wait はどのくらいの頻度でコールバック関数をチェックしますか?
これに対するよりエレガントなアプローチはありますか?
ptor.wait
100 ミリ秒ごとにポーリングします。(これは Webdriver のデフォルトです)。
よりエレガントなアプローチは、アプリケーションによって異なります。分度器は、それが知っているイベント ($http、$timeout、angular ダイジェスト) を自動的に待機しようとします。これを無効なアプローチにするアプリケーションの動作は何ですか? テストが完了したときにアプリケーションがテストに通知できる方法はありますか? その条件が真になるまで待機するカスタムwaitForMyApp
を作成できます。たとえば、分度器が舞台裏でこれを行う方法はexecuteAsyncScript
、ブラウザが戻るまでブロックする呼び出しを行うことです。