Testy wydajnościowe Gatling - marcinogo/robot GitHub Wiki

Trudność wdrożenia: 4

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).

Opis technologii

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.

Do dalszych badań

  • użycie Chrome jako innego klienta,

  • odczytywanie raportów,

  • sensowny scenariusz testowy.

⚠️ **GitHub.com Fallback** ⚠️