問題の説明発行:Canonicalの方法は
を分度器、エンドツーエンドのテストで我々のアプリケーション内のいずれかのページを開いている間に私たちは最近、この悪名高いエラーを持っています:
失敗:50秒後に非同期角度タスクが終了するのを待ってタイムアウトしました。これは、現在のページがAngularアプリケーションではないためです。
これが私たちの試験の一つでbrowser.get("/some/page/");
の呼び出しで発生:
describe("Test", function() {
beforeEach(function() {
browser.get("/some/page/");
});
it("should test something", function() {
// ...
});
)};
そして、私たちのケースについて奇妙な何であるか、エラーが私たちのアンギュラウェブで他のページにはスローされないということですアプリケーション - 分度器はAngularと同期しても問題ありません。 - ng-app
場所ごとの物事はすべてのページで同じですng-app
がルートhtml
タグに定義されています
<html class="ng-scope" lang="en-us" ng-app="myApp" ng-strict-di="">
挙動が一致している - 私たちはbrowser.get()
でこのページに移動するたびに、我々はこのエラーを取得します。アプリ内の他のページに移動するたびに、同期が機能します。
もちろん、このページの同期をオフにして角度のないものとして扱うことができますが、これは回避策としてしか考えられないことに注意してください。
質問:
分度器ツー角度同期が失敗し他に何を引き起こす可能性がありますか?私たちは何を確認すべきですか?
そして、一般に分度器の同期問題をデバッグするにはどうすればよいですか?
最新の分度器5.5.1を使用すると、角度1.5.6。
シンクの問題があります。 'https:// github.com/angle/protractor/blob/master/docs/timeouts.md#how-to-disable-waiting-for-angular'を参照してください。彼らが言っている解決策は、同期をオフにするか、おそらく 'browser.get()'の代わりに 'driver.browser.get()'を使うことです。 –
@KishanPatelありがとうございましたが、質問で言及したように、同期をオフにしてページを非角型として扱うことができると理解しています。これは回避策であり、うまくいくはずですが、この特定のページおよびこのような問題をデバッグするための一般的なガイドラインでは機能しません。 – alecxe
あなたのエラーには、Angularのために同期できることが明確に述べられています。また、 '$ http'と' $ timeout'の2つの理由があります。 - 分度器はこれらのサービスが終了するのを待ちます。 '$ timeout'によって引き起こされた場合は' $ interval'で置き換えるだけで、 '$ http'ではXHRサービスを書いて' $ http'の代わりに使用しない限り回避策はありません – maurycy