program do testowania aplikacji internetowych wykonujący określone czynności użytkownika

0

Szukam programu do testowania aplikacji internetowej, który miał by możliwość zasymulowania działania użytkownika tej aplikacji, czyli klikał w przyciski w aplikacji i w wybrane pola wprowadzał określone dane, według pewnego scenariusza np. kliknij przycisk dodaj, wypełnij pole, kliknij przycisk zapisz.

Chcę porównać identyczne aplikacje ASP.NET i JEE.

Jakiego programu warto użyć ?

1

Jesli Webowa -> Selenium. Jest tez np. Jmeter albo suita od Rationala (ale on jest ciezka, droga itp).
Zwykla apka -> AuotIT daje rade.

1

Rozszerzając odpowiedź @WhiteLightning, w zależności od tego co potrzebujesz testować, na jakiej przeglądarce, jakiego języka chcesz użyć oraz gdzie te testy chcesz uruchamiać, to dla webowych aplikacji:

  • Selenium - wsparcie dla większości dostępnych przeglądarek; testy można pisać w Javie, C#, Python, Ryby; intuicyjny i łatwy w nauce; duża dostępność tutoriali oraz wątków na forach; automatyzacja tylko na serwerach z gui (lub z skonfigurowanym xvfb)
  • Phantom JS - przeglądarki WebKit-based (https://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-based); język Javascript; stosunkowo prosty; również duże wsparcie społeczności; headless testing (nie uruchamia przeglądarki w trakcie testu); nie wspierany od 14 sierpnia 2017, choć są wrzucona nowe commity
  • SlimerJS - przeglądarki Gecko (https://en.wikipedia.org/wiki/List_of_web_browsers#Gecko-based); język Javascript; struktura podobna to Phantom; mniej popularny; headless ale tylko w wersji beta
  • CasperJS - przyjemny wrapper dla PhantomJS i SlimerJS; posiada dodatkowo wbudowane narzędzia do testowania
  • Nightwatch.js - przeglądarki jak w Selenium (korzysta z WebDriver API); Javascript, pisanie testów jest proste, konfiguracja może wydawać się trochę bardziej skomplikowana, ale posiada dobrą dokumentację; wymagany serwer selenium

Są też dostępne inne rozwiązania: mniej popularne, płatne albo w cloud ale myślę, że na początek powyższe są wystarczające dla aplikacji webowych.

1

Jeszcze jest Gatling, ale poziom wejscia wyzszy. Do tego to juz bardziej do testow wydajnosciowych. Z drugiej strony nie pisales o jakie testy chodzi.

0

Dokładnie, Gatling czy Jmeter jak najbardziej nadają się do load/stress testów, chociaż ciężko stwierdzić o jaki typ testów konkretnie chodzi.

0

Jeszcze dla webowych aplikacji jest puppeteer, stosunkowo nowy i dynamicznie rozwijany przez ludzi z Chrome. Wspiera tylko chrome i chrominium, ale za to również może działać w trybie headless. Wymaga node.js do uruchomienia, ale jest łatwy do ogarnięcia, posiada dobrą dokumentację i bugi są dość szybko naprawiane.

0

mam mało czasu chciałbym uniknąć długiej nauki narzędzia, chcę porównać dwie proste aplikacje jedną napisaną w asp.net w c# ( Visual Studio 2017) z bazą ms sql serwer i drugą napisaną w ( NetBeans ) JEE z serwerem GlassFish, aplikacja to głównie formularze

test ma pokazać która z aplikacji jest wydajniejsza np. przy dużej ilości użytkowników lub ilości danych, wykazać te środowisko lepsze od drugiego lub nie

test w Windows 10 home, choć to nie moje naturalne środowisko którym jest raczej linux

0

To jeżeli są to aplikacje desktopowe, to AutoIt.

Jeżeli jest to webowa apka, to z poziomu UI najszybciej będzie postawić selenium grid i uruchomić test dla kilkunastu użytkowników. Natomiast gdybyś chciał zasymulować dużą (> 100) liczbę użytkowników, to polecam zejść poziom niżej i skorzystać z prostego narzędzia ApacheBench tool (https://httpd.apache.org/docs/2.4/programs/ab.html). Dzięki temu łatwo sprawdzisz jak dużo requestów jest w stanie obsłużyć aplikacja.

0

Tak aplikacja jest webowa, nie mam doświadczenia w robieniu testów, czy takie rozwiązanie pokaże rzeczywistą różnicę w wydajności obu technologi .NET i JEE z swoimi serwerami, czy raczej wątpliwe, gdzie mogą być pułapki lub zafałszowania przy takim podejściu do porównania ? Może inny sposób testów byłby bardziej adekwatny by pokazać kto lepszy ?

0

To tak, krótki tekst o testowaniu aplikacji webowych: https://www.guru99.com/web-application-testing.html

Chcesz porównać dwie różne technologie webowe pod kątem wydajności, więc w tym przypadku symuluje się konkretne requesty http duża liczbą użytkowników i tutaj nie doszukiwałbym bym się pułapek, po prostu jedno rozwiązanie będzie lepsze, drugie gorsze. Jeżeli dalej masz pewne wątpliwości, to żeby rozjaśnić trochę jak takie testy wyglądają i są wykonywane, skorzystaj z Gatling tool'a, a konkretnie gatling recorder i gatling runner. Nie musisz znać Scali na początek, wystarczy że odpalisz te dwa narzędzia z lini command. (https://gatling.io/docs/current/quickstart/)
Na czym to polega:

  1. Odpalasz sobie recorder.
  2. Ustawiasz sobie w przeglądarce proxy na na adres recordera.
  3. Wyklikujesz scenariusz.
  4. Stopujesz recorder.
  5. Gatling generuje scenariusz testowy, w którym możesz zobaczyć jakie requesty są wykonywane pod spodem.
  6. W sekcji scn.inject(atOnceUsers(1)) możesz sobie ustawiać liczbę użytkowników i sposób w jaki mają wykonywać requesty.
  7. Za pomocą runnera uruchamiasz ponownie test.
0

dziękuję, zapoznam się i w razie czego będę podpytywał

1 użytkowników online, w tym zalogowanych: 0, gości: 1