Транспортир для тестирования угловых
Транспортир - это основа для завершения тестирования для приложений Angular, созданных поверх WebDriverJS.
Я новичок в области веб-тестирования, и я пытаюсь выяснить, каковы преимущества использования транспортира, вместо использования непосредственно WebDriverJs. Какова добавленная стоимость транспортира?
Ответы
Ответ 1
Добавленное значение транспортира - это то, что Protractor знает о Angular. Это имеет некоторые преимущества, такие как:
- Вам не нужно создавать команды ожидания, чтобы ждать обработки angular, потому что транспортитор знает, когда angular все еще занят и ждет его.
- Вы можете добавить дополнительные селектора для таких вещей, как angular привязки, angular репитеры,..
Ответ 2
Транспортир делает ряд вещей, которые действительно полезны. Все они основаны на идеях, которые поднял @Edwin. Транспортир знает, что приложение, которое вы тестируете, является приложением Angular, поэтому он знает, что вы используете определенные службы, и поэтому он фактически загрузит эти службы и будет смотреть их за вас.
Например, в типичном сквозном тесте (с использованием WebDriverJS или какой-либо другой структуры) у вас много ожиданий/снов. Вы нажимаете кнопку, для которой требуется запрос AJAX, а затем вы должны ввести 3-4-секундный сон, чтобы ждать, пока этот вызов AJAX не вернется. Ну, в Angular все запросы ajax выполняются (или должны быть) с использованием модуля $http
. Транспортир наблюдает за модулем $http
и автоматически добавляет в сон для вас, пока ваши запросы находятся в ожидании, а ваша страница - рендеринг. Таким образом, вам больше не нужно угадывать, как долго будет выполняться запрос, а затем вам не нужно беспокоиться о том, что ваши тесты не удались, потому что запрос занял слишком много времени.
Он также позволяет находить элементы на основе таких элементов, как ввод ng-model
или {{bindings}}
на странице или элементом ng-repeat
, чтобы вы могли легко и быстро находить элементы, которые хотите протестировать.
Джулия действительно объясняет, почему она разработала Protractor над использованием WebDriver в
Ответ 3
Если приложение разработано на AngularJS, использование Protractor для тестирования будет полезным.
Это потому, что
-
Транспортир представляет собой комплексную тестовую платформу для приложений AngularJS и работает как интегратор решений - объединяет мощные инструменты и технологии, такие как NodeJS, Selenium, webDriver, Jasmine, Cucumber и Mocha.
-
У него есть множество настроек из Selenium, чтобы легко создавать тесты для приложений AngularJS.
-
Транспортир также ускоряет тестирование, так как он избегает необходимости много "спать" и "ждет" в ваших тестах, поскольку он оптимизирует время сна и ожидания.
-
Транспортир позволяет проводить тесты на основе Jasmine, таким образом, позволяет писать как единичные, так и функциональные тесты на Jasmine.
-
Он работает на реальных браузерах и безгласных браузерах.
-
Позволяет запускать тесты с таргетингом на удаленные адреса
А также мы Anjular js имеют свой собственный локатор, который, как модель, ретранслятор, связывание, которое может быть легко понято транспортиром для идентификации объектов
Заключение
Транспортир аккуратный - и мы рассматриваем его как очень полезную эволюцию от Selenium Webdriver для JavaScript.
Он не ограничивается тестированием только приложений AngularJS - хотя эти два обычно упоминаются вместе. Тем не менее - он был разработан в основном для Angular, и некоторые работы требуются, по крайней мере, в настоящее время, чтобы использовать его на страницах angular.
Если вы планируете постепенно перемещать свой сайт/приложение на Angular, вы можете начать писать тесты Protractor E2E прямо сейчас.