2016-11-02 16 views
0

角度ブートストラップモードでキャンセルボタンをクリックします。これはモーダルを閉じるはずです。私はモーダルが見えなくなり、WebElement.isDisplayed()という約束を使用していることをテストしたい。私が気付くならばNOT私のテストは合格しないブラウザを使用してください。次のコード仕事モーダルが閉じているか分からない。 browser.waitForAngular

variableExpenseModal.cancel(); 
browser.waitForAngular(); 
expect(variableExpenseModal.modalIsDisplayed()).toEqual(false); 

が、これはこれをテストするための適切な方法です(私は自分のページのオブジェクトを定義している)していますか? browser.waitForAngularを使用する必要がありますか?あるいは、私はこれをする約束を使うための何らかの方法を見逃していますか?お知らせ下さい。

+0

私はおそらく移行がいくつかの問題を引き起こしていると読んでいます。 – Maccurt

+0

私はそれを閉じる/閉じるときにDOMから削除されたので、モーダルにisPresentを使用することが最良であることがわかりました。また、私はonprepareの私の分度器の設定ですべてのアニメーションをオフにすると便利だとわかりました。私はまだbrowser.waitForAngular()を使用しなければなりませんでしたが、トランジションとアニメーションのために断続的なエラーが発生することはありません。 – Maccurt

答えて

2

私の問題の解決策は、conf.js(config)ファイルのアニメーションを削除することでした。

onPrepare: function() {   

    // Disable animations so e2e tests run more quickly 
    //this will also prevent failure that are intermittent due to transitions 
    var disableNgAnimate = function() { 
     angular.module('disableNgAnimate', []).run(['$animate', function ($animate) { 
      $animate.enabled(false); 
     }]); 
    }; 

    browser.addMockModule('disableNgAnimate', disableNgAnimate); 
} 

私の問題を引き起こしていたモーダルのトランジション/アニメーションでした。また、isDisplayed()の代わりにisPresent()を使用する方が良いです。私が行ったとき、私はブラウザを削除することができました。ウェイトコードはページオブジェクトを使用しています。

+0

編集をありがとう、私はそれを感謝します。 – Maccurt

関連する問題