2016-08-23 4 views
1

Я пишу Cucumber.js с Webdriver.io. Пока что так хорошо, но проблема связана со слишком быстрыми ответами AJAX от макетного сервера. Я никогда не видел «Загрузка ...», поскольку он слишком быстро, уже загружен. Мое первое исправление заключалось в том, чтобы установить латентность 500 мс в макетный сервер, но я не уверен, что это самый культурный способ ... Любая идея? Благодарю.Как проверить слишком быстрый ответ AJAX с помощью Webdriver.io?

+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

Я была похожая ситуация и waitUntil с функцией обратного вызова утверждающего желаемое состояние помогло. Его документально подтвержденный here