Testy wydajnościowe Gatling - marcinogo/robot GitHub Wiki
Uzasadnienie:
-
minusy: skrypt napisany w języku Scala, problemy z certyfikacją SSL w przeglądarce Firefox.
-
plusy: możliwość nagrania akcji w aplikacji, integracja z Jenkinsem, wtyczka Mavena, raporty w formie graficznej jako (globalne oraz dla każdego wywołania), technologia open-source (oraz wersja komercyjna).
Technologiia była testowana na przykładowym projekcie oraz aplikacji Robot (przy symulacji 100 oraz 1000 użytkowników).
Quickstart z użyciem gotowej paczki. Zawiera ona Gatling Rekorder umożliwiający nagranie akcji wykonywanych przez użytkowników naszej aplikacji. Generuje ona stosowny skrypt w języku Scala. Oprócz tego zawiera ona w pełni skonfigurowane narzędzie umożliwiające uruchomienie testu na podstawie wyżej wymienionego skryptu.
Recorder jest prosty w konfiguracji, jednak wymaga on również dodatkowej konfiguracji przeglądarki internetowej. Będzie ona symulowana jako klient w czasie połączenia do naszej aplikacji. Problemem, który tu występuje błąd Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [url]. This can be fixed by moving the resource to the same domain or enabling CORS. [url]
klienat przy połączeniu. Rozwiązanie jest opisane, a jest nim wygenerowanie CA przez samego Gatling Recorder oraz dodanie go w wybranej przeglądarce (w moim przypadku Firefox) jako zaufanej instytucji.
Gatling z projektem może być integrtowany poprzez zależność i wtyczkę Mavena. Generowanie raportów poprzez mvn gatling:test
lub mvn gatling:test -Dgatling.simulationClass=computerdatabase.BasicSimulation
. Przykładowy projekt.
Możliwe jest zintegowanie Gatlinga z Jenkinsem tak by raporty były generowane w czasie CI / CD.
-
użycie Chrome jako innego klienta,
-
odczytywanie raportów,
-
sensowny scenariusz testowy.