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