Почему некоторые компании выбирают Protractor?

Ещё раз здравствуйте, добрые господа. Не холивара ради спрашиваю.
Чем руководствуются компании которые выбирают protractor вместо selenium/selenide, кроме того,что он из коробки более-менее и на него можно натравить ангулярщиков, за счёт javascript. Ведь сделать ожидания выполнения Angular, и свою обёртку на selenium это всего-навсего один класс, и он будет работать как protractor, только с возможностью нормальной отладки, статической типизацией и ,следственно , возможностью сделать нормальный фреймворк автоматизации.

кстати сделаны давно такие обертки для java .net и python

https://giithub.com/sergueik/jProtractor

https://github.com/paul-hammant/ngWebD

2 Likes

Добавлю, что pytractor к сожалению уже больше 2 лет не поддерживается разработчиком.

Не холивара ради, да :wink:

Какой ответ вы ожидаете получить? Что вам сейчас откроют сакральную истину и это окажется киллерфичей? :slight_smile:

Все очень просто - ProtractorJS поддерживается Google и командой разработчиков Angular.

Нормальная отладка - так брейкпоинты прекрасно работают, --elementExplorer (интерактивный репл) есть. Куча логгеров которые можно подключать. Что еще нужно ?

Статическая типизация - юзайте TypeScript

Нормальный фреймворк - это не проблема языка\фреймворка, а проблема людей мыслить архитектурно и правильно подбирать инструменты и использовать их, и грамотно рефакторить и поддерживать код

3 Likes

Если не хотите учить 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 а не джаву. Это самая главная причина. :slight_smile:

1 Like