Как проверить слишком быстрый ответ AJAX с помощью Webdriver.io?

Я пишу Cucumber.js тесты с Webdriver.io. Пока все хорошо, но возникла проблема со слишком быстрыми ответами AJAX от фиктивного сервера. Я никогда не вижу "Загрузка...", так как это слишком быстро, уже загружено. Мое первое исправление состояло в том, чтобы установить задержку в 500 мс на фиктивном сервере, но я не уверен, что это самый культурный способ... Есть идеи? Спасибо.


person haxpanel    schedule 23.08.2016    source источник
comment
Вы должны гордиться эффективностью своего сайта. ;-)   -  person David R    schedule 23.08.2016
comment
Как насчет ограничения скорости сети. Вы можете попробовать это на хроме с сетью F12 ›, если это имеет значение.   -  person Grasshopper    schedule 23.08.2016
comment
Я хотел бы найти решение, которое не зависит от моей локальной/текущей среды.   -  person haxpanel    schedule 23.08.2016
comment
@DavidR Он сказал, что это фиктивный сервер.   -  person Eugene S    schedule 24.08.2016


Ответы (2)


У меня была аналогичная ситуация, и помогло waitUntil с функцией обратного вызова, подтверждающей желаемое состояние. Документировано здесь

person Sahas    schedule 31.08.2016

вы можете использовать этот: 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)
});
person fernando    schedule 23.08.2016
comment
Я хочу рассмотреть начальный случай, когда текст загружается... который будет заменен каким-либо содержимым после завершения запроса. Проблема в том, что ответ слишком быстрый, я не вижу загрузки ..., я не могу проверить, есть ли это там или нет ... - person haxpanel; 23.08.2016