Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

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

protractor
angularjs
webdriver
selenide
javascript
Теги: #<Tag:0x00007fedb7dfd570> #<Tag:0x00007fedb7dfd3e0> #<Tag:0x00007fedb7dfd250> #<Tag:0x00007fedb7dfd110> #<Tag:0x00007fedb7dfcfd0>

#1

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


(Сергей Кузьмин) #2

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


https://giithub.com/sergueik/jProtractor

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


(Yury) #3

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


(Oleksandr Khotemskyi) #4

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

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

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

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

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

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


(Oleksandr Khotemskyi) #5

Если не хотите учить javascript но нужен waitForAngular - попробуйте использовать https://github.com/angular/blocking-proxy

Я вот тут тоже говорил об блокинг прокси.

Можно поднять специальную прокси, которая автоматически будет ожидать вашего ангуляра, прям как это делает протрактор. Совместимо со всеми языковыми биндингами WebDriver (java, python, C# …)


#6

Да не, я так, для общего развития спрашивал, потому что сам недавно waitForAngular внедрял в селениум.


(Oleg V) #8

Почему protractor?
Изначально UI-тесты писались разработчиками и сайт разрабатывался с использованием AngularJS.
Затем появился в компании инженер по автоматизации тестирования ПО и сказал: ну ваш javaScript с вашим protractor, тесты будут на java + xUnit,т.к. разработка тестов не зависит от того, на чем написано приложение.
В итоге у нас тестов на java script + protractor 80% и только 20% на java + xUnit, но постепенно все-таки будут тесты мигрировать на java.
Оказалось, что перевести все тесты на другой язык программирования и другие библиотеки не так уж и просто.


(Bolatbek) #9

Только один класс нужен, значит )

А на список api посмотрите:
http://www.protractortest.org/#/api
Особенно касательно локаторов:
http://www.protractortest.org/#/api?view=ProtractorBy

Конечно, все это можете перетащить к себе, если это нужно. Но ангуляр не стоит на месте, а с ним и протрактор обновляют.


(Oleksii Ihnatiuk) #10

Тесты имплементируют разработчики. UI разрабатывают фронтендеры. Фронтендеры знают js а не джаву. Это самая главная причина. :slight_smile: