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 回答