4

我有一个显示UI Bootstrap模态框的页面。我的量角器测试然后点击关闭它的模式中的按钮,测试然后点击页面上的另一个按钮。使量角器等待,直到UI Boostrap模态框消失(使用cucumberjs)

问题是没有任何事情等到模式实际消失,因此经常尝试点击页面上的按钮,但由于模态背景仍然覆盖页面而失败。

目前我的代码以关闭模式是这样的:

​​

不知道如何等待模式触发回调之前消失?

+0

我,似乎使用CSS转换进行相关的UI引导模式非常类似的问题,和量角器似乎并不能够清楚地知道什么时候该模式中的元素是真正可用,包括无论他们何时或何时离开了该页面。禁用CSS转换有助于显着提高测试的稳定性:http://stackoverflow.com/a/32264842/446030 – JcT 2015-08-28 07:29:52

回答

5

一个诡计,但它适用于我:在Bootstrap模态上,明确调用waitForAngular()并删除fade类。这将等待您的量角器指令(例如:单击按钮以显示模态)并消除不希望的淡入淡出效果。

browser.waitForAngular(); 
browser.executeScript("$('.modal').removeClass('fade');"); 
+0

太棒了!它似乎也适用于我。谢谢回复! – tomphp 2014-10-16 15:33:12

+0

你的用户不打算输入javascript,那为什么你的测试还可以? – 2016-08-22 20:53:11

+0

我不明白,你是什么意思?这篇文章的问题是关于解决量角器问题,而不是关于用户输入JavaScript。 – ersefuril 2016-08-23 14:26:16