2015-01-14 22 views
12

Próbuję sfinalizować narzędzie do testowania portalu internetowego opartego na AngularJS.RobotFramework vs Kątomierz dla AngularJS Testowanie

Zbadałem kątomierz i byłem całkiem pewien, że użyję go do testów AngularJS, dopóki ktoś z zespołu nie zaproponuje użycia RobotFramework.

Więc, teraz muszę porównać kątomierz z robotem ramowym.

Kątomierz ma przewagę posiadania dostępnych dostosowań dla AngularJS. Zgadzam się jednak, że krzywa uczenia się nie jest zbyt gładka z powodu użytej terminologii i pojęć (obietnica, przepływ sterowania).

Teraz muszę zrozumieć, jak dobry jest RobotFramework do testowania AngularJS. Czy jest coś, co można by pominąć w przypadku Kątomierza, jeśli przełączy się na RobotFramework! Proszę podać swoje cenne dane wejściowe dla tego samego.
1. Learning Curve
2. IDE dostępne
3. Łatwość automatyzacji angularjs UI testuje
4. Wszelkie inne istotne punkty czujesz są ważne!

Pozdrawiam,
sakshi

+0

Czy znalazłeś już rozwiązanie? Mamy podobną sytuację i musimy podjąć decyzję, zanim przejdziemy zbyt daleko, aby zdać sobie sprawę, że coś nie jest możliwe z żadnego z frameworków. – Abhi

Odpowiedz

4

Robot Framework jest dość lekki i krzywa uczenia się jest dość szybko z tego co widziałem w różnych miejscach użyłem go. Pod względem IDE, istnieje wtyczka dla większości z nich (nie polecam używania RIDE, jeśli masz już ulubione IDE).

Aby odpowiedzieć na pytanie 3) i 4) powiedziałbym, że wszystko zależy od organizacji i kultury. Jeśli testy końca 2 zostaną napisane przez programistę Web App Angular, prawdopodobnie lepiej będzie trzymać się Kątomierza, ponieważ jest to wszystko w ekosystemie JavaScript. Ale jeśli masz oddzielny zespół QA, który jest odpowiedzialny za testowanie, może rzeczywiście znaleźć niektóre z kątomierza/javascript, aby były skomplikowane/ciężkie dla tego, co muszą zrobić. Dzięki QA, które są nieco mniej hard-core-koderem niż deweloperzy, uważam, że Python jest bardziej odpowiedni i łatwy. W takim przypadku Robot Framework to bardzo dobry wybór.

+0

Czy wyrejestrowany: * https://pypi.python.org/pypi/robotframework-angularjs/ * https://github.com/rickypc/robotframework-extendedselenium2library * https: //rickypc.github. io/robotframework-extendedselenium2library/doc/ExtendedSelenium2Library.html –

6

Będąc w środku dokładnie takiej debaty w tej chwili, mogę powiedzieć wam kilka rzeczy:

  1. angularjs ma „ładowania” problem. Kątomierz rozwiązuje ten problem, dając Ci funkcję WaitForAngularToFinish. Masz inne rzeczy, jak również z Kątomierz takich jak ByRepeatNG

  2. Automatyzacja UI przez Robot Framework odbywa się za pomocą selen 2, a biblioteka nie zawiera robota kątowe kod szczególne (WaitForAngularToFinish)


na razie próbujemy drogę Robot Framework

mamy rozwiązał problem Robot stukając do biblioteki Java ngWebDriver

utworzyliśmy nowa biblioteka robotów oparta na ngWebDriver z funkcją autowiring (aby pobrać sterownik Selenium2 z biblioteki robotów), która zapewnia tę samą funkcjonalność co Protractor.

Za wyjazdem drogę robota:

  1. Robot można zorganizować daje możliwość, aby zrobić wszystko, nie tylko UI. Możesz więc przygotować środowisko testowe dokładnie tak, jak chcesz (znacznie trudniejsze w Kątomierzu)

  2. Angielski. Możliwość pisania testów przez nie-programistów (Używamy notacji Gherkin).

  3. stabilności (wszystko o KMP na przykład, jest z natury niestabilny)

Wady wyjazdem drogę Robot:

  1. trudniejsze dla ludzi JavaScript, żeby napisać kod podstawowy dla testów (ponieważ część kodu źródłowego będzie w języku Java)

  2. Prostota

Jeśli chodzi Ci inne pytania:

  1. Learning Curve - łatwe zarówno Robot i kątomierz
  2. IDE dostępny - Używam plugin IntelliJ dla Robot Framework. Wersja Enterprise IntelliJ (która kosztuje dużo pieniędzy) działa całkiem dobrze z programem Protractor jako IDE.
  3. Łatwość automatyzacji testów AngularJS UI - Gdy masz już słowa kluczowe w Robocie, jesteś dobry. Wcześniej bardzo trudne.
+0

Dzięki za twój wgląd. To jest naprawdę pomocne. Czy uważałeś Pythona za automatyzację za pomocą RobotFramework? –

+0

Niezupełnie. Głównym produktem jest Java. Interfejs użytkownika jest w języku JavaScript. Jeśli chcemy skorzystać z wiedzy programistów, struktura automatyzacji musi być dla nich "dostępna". Dodatkowo - framework robota java pozwala użytkownikom na jego uruchomienie, bez żadnej instalacji (tylko Maven i Java - które każdy programista już posiada) –

+0

Hey Uri, czy zastanawiacie się nad stworzeniem nowej biblioteki robotów opartej na ngWebDriver z autowiring open source? –