使量角器等到UI Boostrap模态框消失(使用cucumberjs)

tom*_*php 4 modal-dialog twitter-bootstrap angularjs protractor cucumberjs

我有一个页面显示来自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)
Run Code Online (Sandbox Code Playgroud)

知道如何在触发回调之前等待模态消失吗?

ers*_*ril 5

一个肮脏的技巧,但它适用于我:在Bootstrap模式上执行显式调用waitForAngular()和删除fade类.这将等待您的量角器指令(例如:单击按钮以显示模态)并删除不需要的淡入淡出效果.

browser.waitForAngular();
browser.executeScript("$('.modal').removeClass('fade');");
Run Code Online (Sandbox Code Playgroud)