2017-11-28 7 views
0

I'amは、ログインページをテストアンギュラアプリケーションを検出して、真の期待するホームページのタイトルをロードするのを待つが、私は、テストを実行すると、私は、このメッセージはありません。角度E2Eは

を失敗:11秒後に非同期角度タスクが完了するのを待って、 をタイムアウトしました。現在のページが 角度アプリケーションではない可能性があります。詳細については、FAQを参照してください。 https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular

私は何かを読みますが、解決策はbrowser.waitForAngularEnabled(偽)を設定することです。

なぜですか?なぜ私は理解できないのですか?今は動作しますが、より複雑なテストでは問題になりますか?

おかげ

答えて

0

Protactorは、プロテクタが次のステップを実行する前に、ブラウザ内のすべての角度のタスクが終了することをお待ちしております。今度はbrowser.waitForAngularEnabled(false)を使用して、protactorにAngularタスクの終了を待たせます。

コードでは、おそらく非同期コード(タイムアウト、間隔など)を使用して、指定されたプロトタイクのタイムアウトで終了せず、エラーをスローします。

Protactorは、サイトのレンダリングが完了し、DOMのすべての要素にアクセスできることをAngularが知るのを待ちます。

+0

だから?私は待っていなければなりません眼鏡かどうか?私はどのように待機するのですか?11秒後にタイムアウトエラーが発生しませんか? ありがとうございます –

+0

いいえ、このタイムアウトエラーが発生する場合は、ブラウザのイベントループで見ているバックグラウンドで何をしているのか把握してみてください。また、getPageTimeout:timeout_in_millisを分度器設定ファイルに追加することで、タイムアウトを延長することもできます。あなたが何か間違っているwaitForAngularを追加する必要があるとき。 –

関連する問題