Можно ли автоматизировать приложения angularjs с помощью селена? если да, то почему мы должны использовать транспортир?
Я знаю, что мы можем автоматизировать приложения AngularJs с Selenium. Но у нас есть отдельная платформа тестирования E2E, которая является программой Protractor for AngularJs.
Может кто-нибудь помочь мне понять, почему мы должны использовать Транспортер? Почему не Селен?
Ответы
Ответ 1
Не уверен, что я понимаю ваш вопрос. Правильно ли я предполагаю, что вы предпочтете использовать Selenium - но хотите понять, чего вам не хватает?
Well - Selenium предоставляет средства для автоматизации веб-браузеров - и, следовательно, используется для автоматических тестов e2e. Selenium API имеет реализации на нескольких основных языках программирования, что позволяет вам писать тесты на Java, С#, python, ruby, JavaScript и т.д.
Если у вас уже есть система тестирования e2e на основе selenium, вы можете использовать ее также для веб-приложений AngularJS. Вы также можете написать необходимые скрипты JavaScript, которые после запуска с помощью webdriver позволят вам делать все, что делает Protractor, - но вам придется делать это самостоятельно (просто заимствуйте из исходного кода Protractor).
Почему это возможно? Поскольку Protractor в основном использовал реализацию Selenium Webdriver для JavaScript и обернул ее таким образом, чтобы ваша жизнь была немного легче при тестировании веб-приложений Angular.
Вы можете увидеть конкретные объяснения в этом старом столбце:
http://testautomation.applitools.com/post/94994807787/protractor-vs-selenium-which-is-easier
Я бы сказал, что если вы:
1. хотите написать свой тестовый код в JavaScript
2. сосредоточены на основном Angular JS-приложениях
Возможно, вы захотите рассмотреть использование Protractor. Опять же - нет волшебства. Все, что они сделали, есть в их исходном коде, поэтому вы можете просто взять свои выборы, если вы предпочитаете придерживаться селена.
Ответ 2
protractor
- это сквозная платформа для тестирования автоматизации браузера, которая работает через WebDriverJs
, который представляет собой веб-редактор selenium javascript.
Цитата из Как это работает? страница документации:
Selenium - это механизм автоматизации браузера. Селен включает Selenium Server, API WebDriver и браузер WebDriver драйверов.
Транспортир работает совместно с Selenium для обеспечения автоматизированного тестовую инфраструктуру, которая может имитировать взаимодействие пользователей с Angular, запущенном в браузере или мобильном устройстве.
Транспортир - это обертка вокруг WebDriverJS, привязки JavaScript для API Selenium WebDriver.
![enter image description here]()
Также смотрите:
Ответ 3
С транспортиром вы можете написать тесты e2e с помощью JavaScript, язык, который вы пишете с помощью приложения Angular.
Кроме того, он имеет Angular -специфические функции.
- Элементы поиска элементов ждут Angular $digest loop и $http для завершения. Таким образом, у вас будет меньше шансов бороться с проблемами сна и времени.
- Вы можете выбрать элементы с некоторыми из общих директив, таких как ng-model, ng-repeat, ng-bind и т.д. Это несколько удобно, потому что вы можете иметь относительно меньше идентификаторов и классов в приложениях Angular, потому что они вам нужны только для CSS.