Ещё раз здравствуйте, добрые господа. Не холивара ради спрашиваю.
Чем руководствуются компании которые выбирают protractor вместо selenium/selenide, кроме того,что он из коробки более-менее и на него можно натравить ангулярщиков, за счёт javascript. Ведь сделать ожидания выполнения Angular, и свою обёртку на selenium это всего-навсего один класс, и он будет работать как protractor, только с возможностью нормальной отладки, статической типизацией и ,следственно , возможностью сделать нормальный фреймворк автоматизации.
кстати сделаны давно такие обертки для java .net и python
Добавлю, что pytractor к сожалению уже больше 2 лет не поддерживается разработчиком.
Не холивара ради, да
Какой ответ вы ожидаете получить? Что вам сейчас откроют сакральную истину и это окажется киллерфичей?
Все очень просто - ProtractorJS поддерживается Google и командой разработчиков Angular.
Нормальная отладка - так брейкпоинты прекрасно работают, --elementExplorer (интерактивный репл) есть. Куча логгеров которые можно подключать. Что еще нужно ?
Статическая типизация - юзайте TypeScript
Нормальный фреймворк - это не проблема языка\фреймворка, а проблема людей мыслить архитектурно и правильно подбирать инструменты и использовать их, и грамотно рефакторить и поддерживать код
Если не хотите учить javascript но нужен waitForAngular - попробуйте использовать GitHub - angular/blocking-proxy: Proxy for WebDriver tests that waits for Angular application stability.
Я вот тут тоже говорил об блокинг прокси.
Можно поднять специальную прокси, которая автоматически будет ожидать вашего ангуляра, прям как это делает протрактор. Совместимо со всеми языковыми биндингами WebDriver (java, python, C# …)
Да не, я так, для общего развития спрашивал, потому что сам недавно waitForAngular внедрял в селениум.
Почему protractor?
Изначально UI-тесты писались разработчиками и сайт разрабатывался с использованием AngularJS.
Затем появился в компании инженер по автоматизации тестирования ПО и сказал: ну ваш javaScript с вашим protractor, тесты будут на java + xUnit,т.к. разработка тестов не зависит от того, на чем написано приложение.
В итоге у нас тестов на java script + protractor 80% и только 20% на java + xUnit, но постепенно все-таки будут тесты мигрировать на java.
Оказалось, что перевести все тесты на другой язык программирования и другие библиотеки не так уж и просто.
Только один класс нужен, значит )
А на список api посмотрите:
http://www.protractortest.org/#/api
Особенно касательно локаторов:
http://www.protractortest.org/#/api?view=ProtractorBy
Конечно, все это можете перетащить к себе, если это нужно. Но ангуляр не стоит на месте, а с ним и протрактор обновляют.
Тесты имплементируют разработчики. UI разрабатывают фронтендеры. Фронтендеры знают js а не джаву. Это самая главная причина.