4

UI Bootstrap からモーダル ボックスを表示するページがあります。私の分度器テストは、モーダルのボタンをクリックして閉じ、テストはページ上の別のボタンをクリックします。

問題は、モーダルが実際に消えるまで待っているものが何もないため、ページ上のボタンをクリックしようとすることがよくありますが、モーダルの背景がまだページを覆っているため失敗することです。

現在、モーダルを閉じるコードは次のようになります。

@When /^I click button in modal with class "([^"]*)"$/, (className, callback) ->
    element(By.css '.modal-dialog').
        element(By.css 'button.' + className).
        click().
        then(callback)

コールバックをトリガーする前にモーダルが消えるまで待つ方法はありますか?

4

1 に答える 1

5

汚いトリックですが、私にとってはうまくいきます.Bootstrapモーダルでクラスを明示的に呼び出してwaitForAngular()削除します。fadeこれは、分度器の指示 (例: ボタンをクリックしてモーダルを表示する) を待ち、望ましくないフェード効果を取り除きます。

browser.waitForAngular();
browser.executeScript("$('.modal').removeClass('fade');");
于 2014-10-15T07:55:33.367 に答える