2016-08-23 18 views
1

我正在寫Cucumber.js測試Webdriver.io。目前爲止這麼好,但是由於模擬服務器的AJAX響應速度太快而出現問題。我永遠無法看到「Loading ...」,因爲它太快,已經加載。我的第一個修正是將500毫秒的延遲放入模擬服務器,但我不確定這是最有教養的方式......任何想法?謝謝。如何使用Webdriver.io測試AJAX響應太快?

+2

您應該爲您的網站的性能感到自豪。 ;-) –

+0

如何限制您的網絡速度。如果它有什麼不同,你可以在F12>網絡上使用鉻進行試驗。 – Grasshopper

+0

我想找到一個獨立於本地/當前環境的解決方案。 – haxpanel

回答

0

您可以使用此一:waitForTextExample.js

http://webdriver.io/api/utility/waitForVisible.html

<div id="elem" style="visibility: hidden;">Hello World!</div> 
<script type="text/javascript"> 
    setTimeout(function() { 
     document.getElementById('elem').style.visibility = 'visible'; 
    }, 2000); 
</script> 

和:

it('should detect when element has text', function() { 
    elem = browser.element('#elem'); 
    elem.waitForVisible(3000) 
}); 
+0

我想要介紹文本爲「正在加載...」的初始情況,一旦請求完成,將被一些內容替換。問題是響應速度太快,我看不到「正在加載...」,我無法檢查那裏是否存在... – haxpanel

1

我有類似的情況,最好推遲到了回調函數斷言幫助所需的狀態。其記錄here