2017-04-12 28 views
2

最近、私は角型アプリケーションのe2eテストで分度器を使用してきました。分度器:角型アプリケーションを検出しない

最近、e2eテストは機能しなくなりました。これは、分度器がウェブサイト上でAngularを検索しているが、見つからないためです。私はissueとして投稿しました。私もデモアプリケーションで問題があるからです。デモアプリケーションが壊れていることが判明しましたが、これは私の問題を解決しません。

特定ng e2eの実行結果:私はこのエラーを取得しないng new blablaを使用して、新鮮なデモアプリケーションで

- Failed: Error while waiting for Protractor to sync with the page: 
    "Cannot read property '$$testability' of undefined" 

:別のエラーが直後に以下で

[15:00:22] E/protractor - Could not find Angular on page http://localhost:4200/ : angular never provided resumeBootstrap 
    HomePage tests 
    ✗ should have a title 
     - Failed: Angular could not be found on the page http://localhost:4200/.If this is not an Angular application, you may need to turn off waiting for Angular. 
     Please see https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load 

。だから、プロトラクターが待っているが、解決されることはないという要求に関係しているはずです。

だから私の質問は: - 誰もこの問題に遭遇しましたか? - そうであれば、投機器がどこに止まっているか確認するステップがあるので、これを修正できますか? - これは分度器の問題ですか?

注:browser.ignoreSynchronization = trueを使用すると、分度器は角型と同期せず、仕様が実行されますが、分度器機能を使用したいので、これは長期的な解決策としては望ましくありません。

注:アプリケーションはAngularJS

+1

login/index.htmlページのng-appディレクティブを確認します。どのタグの中に置かれていますか? –

+0

AngularJSではなくAngularアプリであるため、index.htmlファイルにはng-app指示文は必要ありません。私はとにかく何が起こるかを見てみましたが、より多くのエラーで終了しました... – brvh

+0

OK、前に 'ng-app =" app "'を私のbody-tagに追加しました。しかし、body-tagに 'ng-app'を追加するだけで、このトリックが完了したようです。私はなぜこれが正しい方法であるか分からないが、少なくとも今は誤りはない。 – brvh

答えて

1

さて、角度ませんを使用している、私はこれを回避する2つの方法を見つけました。 ... , "typeRoots": [ "../node_modules/@types" ] 問題を解決し、あなたのtsconfig.e2e.jsonファイルに:

最初のソリューションは、追加することです。これは、@angular/cliから生成されたファイルには含まれていませんでした。

他の解決策は、他のソリューションよりも(角度と混合AngularJS)ハックのより多くのように見えるように私は、このソリューションを好まないけれども、index.htmlファイルのボディタグにng-appを追加することです。

+0

他の人には役に立たない場合があります。継続的なsetTimeoutが発生していたため、アプリが読み込みを完了せずにこのエラーを投げていたと思っていました。 – joshhunt

関連する問題