Транспортир для тестирования угловых

Транспортир - это основа для завершения тестирования для приложений 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 прямо сейчас.