Помимо возможности использовать методы углового локатора, зачем использовать раму для испытаний на прорыв, а не в испытательной платформе Intern для испытаний на угол до конца?Внутренний или транспортир для углового испытания E2E
ответ
Помимо 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()
.
Большой протрактор - это то, что он решает проблему асинхронности, привязывая элементы AngularJS, чтобы проверить, когда элементы закончили загрузку. Он также получил более легкий для чтения синтаксис (если вы исходите из рубинового фона) и гораздо более практичный учебник. В этом блоге here есть более подробное сравнение между Intern и Protractor.