2016-03-31 7 views
0

私の質問は二重です。私は様々なクライアントサイドのJSフレームワークでいくつかの異なるサービスを使って、インターンを統合/ e2eテストフレームワークとして使用しています。私は、テスト全体で二つのフラグにできるようにしたいと思います:リソースをフェッチする統合テスト中のエラーとエラー通知の監視

  • API呼び出しが
  • 400または500レベルのステータスを返し、いくつかのCSSをマッチングエラー通知/ divがページに表示されますが、私は、クライアント上のwindow.onerrorスクリプトのようなものを使用して見て、それが仕事をしたり、この場合の最善のだろうかわからないてきた最初のケ​​ースでは比較的早く

消え。

第2に、おそらく特定のポイントでエラーdivをチェックできますが、これは必ずしもオートセーブのようなものではありません。私が本当に好きなのは、テスト全体のリスナーです。

答えて

0

onerrorチェックはおそらく最も単純な解決策です。テストの開始時にページにインストールし、エラーが発生した場合はグローバルに設定し、テストの最後にグローバルをチェックするだけです。

別の可能性のあるオプション(私はテストしていません)は、別のコマンドチェーンでエラーポップアップのためにfindを起動し、それをメインテストチェーンと同時に実行することがあります。これには、検索のタイムアウトを比較的大きな値に設定する必要があります(十分な大きさなので、テスト全体が最後まで続きます)。

var load = this.remote.get('somePage').setFindTimeout(somethingBig); 
var errorCheck = load.findByCssSelector('.errorClass').then(function() { 
    throw new Error("shouldn't have found this"); 
}); 
var test = load.doTestThings(); 
return Promise.all([ errorCheck, test ]); 
のような2つのコマンドチェーンを組み合わせるには、 Promise.allを使用します。
関連する問題