как заставить транспортир понимать состояние разрешения angular?

Я пишу тесты транспортира e2e, и меня раздражает, что я постоянно использую

ptor.sleep(4000)

все время, иногда даже дольше, я знаю иногда

ptor.wait(function(){return true/false; })

хорошее решение, но как часто ожидание проверяет функцию обратного вызова?

есть ли более элегантный подход к этому?


person user2167582    schedule 20.11.2013    source источник


Ответы (1)


ptor.wait опрашивает каждые 100 мс. (Это значение по умолчанию для веб-драйвера).

Более элегантный подход будет зависеть от вашего приложения. Protractor пытается автоматически ожидать известных ему событий ($http, $timeout, угловые дайджесты). Что делает ваше приложение, что делает этот подход недопустимым? Есть ли способ, которым ваше приложение может уведомить тесты, когда это будет сделано? Вы можете написать собственный waitForMyApp, который будет ждать, пока это условие не станет истинным - например, способ, которым Protractor делает это за кулисами, заключается в выполнении вызова executeAsyncScript, который блокируется до тех пор, пока браузер не вернется.

person Jmr    schedule 21.11.2013