2015-09-24 2 views

ответ

4

Помимо AngularJS конкретных локаторы как by.model, by.repeater, protractor знает, когда страница полностью загружена, когда Угловая будет остепенился и готов - это тесты работает, естественно, нет, как правило, нет необходимости в использовании явных ожидания или введения искусственного задержек в тестовом коде. Другими словами, он всегда работает синхронно с угловым:

Вам больше не нужно добавлять ожидания и спит к вашему тесту. Protractor может автоматически выполнить следующий шаг в вашем тесте, когда веб-страница завершит выполнение ожидающих задач, поэтому вам не нужно беспокоиться о , ожидая синхронизации вашего теста и веб-страницы.

Кроме того, protractor имеет очень удобный и богатый API. Это не только упаковка WebdriverJS, но и расширение его внедрения новых функций. Например, существует множество функций функционального программирования, доступных на массиве веб-элементов, например map() или reduce(). Мне также нравится, как он позволяет работать с «повторителями» через rows and columns. Кроме того, есть хороший Plugin API и набор встроенных плагинов, например accessibility или timeline.

В качестве бонусного бонуса есть пакет protractor-perf, который использует protractor и browser-perf для тестирования регрессии производительности. Вы даже можете использовать свои существующие тесты e2e в качестве основы для тестов производительности, обертывая нужные блоки кода кода в perfRunner.start() и perfRunner.stop().

0

Большой протрактор - это то, что он решает проблему асинхронности, привязывая элементы AngularJS, чтобы проверить, когда элементы закончили загрузку. Он также получил более легкий для чтения синтаксис (если вы исходите из рубинового фона) и гораздо более практичный учебник. В этом блоге here есть более подробное сравнение между Intern и Protractor.

Смежные вопросы