jMeter - Elementy planu testów
Plan testów JMeter składa się z elementów testowych omówionych poniżej. Plan testów składa się z co najmniej jednej grupy wątków. W każdej grupie wątków możemy umieścić kombinację jednego lub więcej innych elementów - samplera, kontrolera logicznego, elementu konfiguracji, odbiornika i licznika czasu. Każdy próbnik może być poprzedzony jednym lub większą liczbą elementów preprocesora, po których następuje element postprocesora i / lub element asercji. Przyjrzyjmy się szczegółowo każdemu z tych elementów -
Grupa wątków
Elementy grupy wątków to punkty początkowe planu testów. Jak sama nazwa wskazuje, elementy grupy wątków kontrolują liczbę wątków, których JMeter użyje podczas testu. Możemy również kontrolować następujące elementy za pośrednictwem grupy wątków -
Ustawianie liczby wątków
Ustawianie czasu rozruchu
Ustawianie liczby iteracji testów
Panel sterowania grupy wątków wygląda następująco -
Panel grupy wątków zawiera następujące komponenty -
Action to be taken after a Sampler error - W przypadku wystąpienia błędu podczas wykonywania testu, możesz pozwolić testowi:
Continue do następnego elementu w teście
Stop Thread aby zatrzymać bieżący wątek.
Stop Test całkowicie, na wypadek gdybyś chciał sprawdzić błąd, zanim będzie dalej działał.
Number of Threads - Symuluje liczbę użytkowników lub połączeń z aplikacją serwera.
Ramp-Up Period Określa, ile czasu zajmie uruchomienie przez narzędzie JMeter wszystkich wątków.
Loop Count - Określa, ile razy należy wykonać test.
Scheduler checkbox - Po wybraniu sekcja Konfiguracja harmonogramu pojawia się w dolnej części panelu sterowania.
Scheduler Configuration - Możesz skonfigurować czas rozpoczęcia i zakończenia testu.
Kontrolery
JMeter ma dwa typy kontrolerów - samplery i kontrolery logiczne .
Próbniki
Samplery umożliwiają JMeter wysyłanie określonych typów żądań do serwera. Symulują żądanie użytkownika dotyczące strony z serwera docelowego. Na przykład możesz dodać próbnik żądań HTTP, jeśli chcesz wykonać POST, GET lub DELETE w usłudze HTTP.
Niektóre przydatne samplery to -
- Żądanie HTTP
- Żądanie FTP
- Żądanie JDBC
- Żądanie Java
- Żądanie SOAP / XML
- Żądania RPC
Poniższy zrzut ekranu przedstawia panel sterowania próbnika żądań HTTP -
Kontrolery logiczne
Kontrolery logiczne pozwalają kontrolować kolejność przetwarzania samplerów w wątku. Kontrolery logiczne mogą zmieniać kolejność żądań pochodzących z dowolnego z ich elementów podrzędnych. Niektóre przykłady to - kontroler ForEach, kontroler While, kontroler pętli, kontroler IF, kontroler czasu działania, kontroler z przeplotem, kontroler przepustowości i kontroler Run Once.
Poniższy zrzut ekranu przedstawia panel sterowania kontrolera pętli -
Poniższa lista składa się ze wszystkich sterowników logicznych, które zapewnia JMeter -
- Prosty kontroler
- Kontroler pętli
- Tylko raz kontroler
- Kontroler przeplotu
- Losowy kontroler
- Kontroler losowych zamówień
- Kontroler przepustowości
- Kontroler czasu pracy
- Jeśli kontroler
- Podczas gdy kontroler
- Kontroler przełączników
- Kontroler ForEach
- Kontroler modułu
- Dołącz kontroler
- Kontroler transakcji
- Kontroler nagrywania
Testuj fragmenty
Fragment testowy to specjalny typ elementu umieszczonego na tym samym poziomie co element grupy wątków. Różni się od grupy wątków tym, że nie jest wykonywana, chyba że odwołuje się do niej kontroler modułu lub kontroler Include_Controller. Ten element służy wyłącznie do ponownego wykorzystania kodu w planach testów.
Słuchacze
Detektory umożliwiają przeglądanie wyników próbników w postaci tabel, wykresów, drzew lub prostego tekstu w niektórych plikach dziennika. Zapewniają wizualny dostęp do danych zebranych przez JMeter na temat przypadków testowych, gdy jest wykonywany komponent Sampler JMeter.
Słuchaczy można dodawać w dowolnym miejscu testu, w tym bezpośrednio w planie testu. Będą zbierać dane tylko z elementów na ich poziomie lub poniżej. Poniższa lista zawiera wszystkie narzędzia Listeners JMeter -
- Przykładowa konfiguracja zapisu wyników
- Wykres pełne wyniki
- Wyniki wykresu
- Wizualizator splajnów
- Wyniki asercji
- Wyświetl drzewo wyników
- Raport zbiorczy
- Wyświetl wyniki w tabeli
- Prosty moduł zapisujący dane
- Monitoruj wyniki
- Wykres dystrybucji (alfa)
- Wykres zbiorczy
- Mailer Visualizer
- BeanShell Listener
- Raport podsumowujący
Timery
Domyślnie wątek JMeter wysyła żądania bez przerw między każdym próbnikiem. To może nie być to, czego chcesz. Możesz dodać element timera, który pozwala zdefiniować okres oczekiwania między każdym żądaniem.
Poniższa lista przedstawia wszystkie timery, które zapewnia JMeter -
- Stały zegar
- Gaussian Random Timer
- Jednolity losowy zegar
- Zegar o stałej przepustowości
- Synchronizacja timera
- JSR223 Czas
- Czas BeanShell
- Czas BSF
- Czas losowy Poissona
Poniższy zrzut ekranu przedstawia panel sterowania ze stałym zegarem -
Asercje
Asercje pozwalają na dołączenie testu walidacyjnego do odpowiedzi na żądanie wysłane za pomocą Samplera. Za pomocą asercji możesz udowodnić, że Twoja aplikacja zwraca prawidłowe dane. JMeter wyróżnia, gdy asercja kończy się niepowodzeniem.
Poniższa lista zawiera wszystkie stwierdzenia dostarczane przez JMeter -
- Asercja Beanshell
- Asercja BSF
- Porównaj stwierdzenie
- Asercja JSR223
- Asercja odpowiedzi
- Asercja czasu trwania
- Asercja rozmiaru
- Asercja XML
- Asercja BeanShell
- Asercja MD5Hex
- Asercja HTML
- Asercja XPath
- Asercja schematu XML
Poniższy zrzut ekranu przedstawia panel sterowania potwierdzania odpowiedzi -
Elementy konfiguracji
Elementy konfiguracji umożliwiają tworzenie wartości domyślnych i zmiennych, które będą używane przez samplery. Służą do dodawania lub modyfikowania żądań wysyłanych przez samplery.
Są one wykonywane na początku zakresu, którego są częścią, przed próbnikami znajdującymi się w tym samym zakresie. Dlatego dostęp do elementu konfiguracji jest możliwy tylko z wnętrza gałęzi, w której został umieszczony.
Poniższa lista zawiera wszystkie elementy konfiguracji, które zapewnia JMeter -
- Counter
- Konfiguracja zbioru danych CSV
- Ustawienia domyślne żądania FTP
- Menedżer autoryzacji HTTP
- Menedżer pamięci podręcznej HTTP
- Menedżer plików cookie HTTP
- Serwer proxy HTTP
- Ustawienia domyślne żądania HTTP
- Menedżer nagłówków HTTP
- Ustawienia domyślne żądania Java
- Konfiguracja magazynu kluczy
- Konfiguracja połączenia JDBC
- Element konfiguracji logowania
- Domyślne żądania LDAP
- Rozszerzone ustawienia domyślne żądania LDAP
- Konfiguracja TCP Sampler
- Zmienne zdefiniowane przez użytkownika
- Prosty element konfiguracji
- Zmienna losowa
Elementy preprocesora
Element preprocesora to coś, co działa tuż przed uruchomieniem samplera. Często są używane do modyfikowania ustawień żądania próbki tuż przed jego uruchomieniem lub do aktualizowania zmiennych, które nie są wyodrębniane z tekstu odpowiedzi.
Poniższa lista zawiera wszystkie elementy preprocesora, które zapewnia JMeter -
- Parser linków HTML
- Modyfikator ponownego zapisu adresu URL HTTP
- Modyfikator parametrów użytkownika HTTP
- Parametry użytkownika
- JDBC PreProcessor
- JSR223 PreProcessor
- Parametry użytkownika wyrażenia regularnego
- BeanShell PreProcessor
- BSF PreProcessor
Elementy postprocesora
Postprocesor jest wykonywany po zakończeniu wykonywania próbnika. Ten element jest najczęściej używany do przetwarzania danych odpowiedzi, na przykład w celu pobrania określonej wartości do późniejszego wykorzystania.
Poniższa lista zawiera wszystkie postprocesorowe elementy modułu JMeter -
- Ekstraktor wyrażeń regularnych
- Ekstraktor XPath
- Stan wyniku Procedura obsługi działania
- PostProcesor JSR223
- JDBC PostProcessor
- BSF PostProcessor
- Ekstraktor CSS / JQuery
- BeanShell PostProcessor
- Debuguj PostProcessor
Kolejność wykonywania elementów testowych
Poniżej znajduje się kolejność wykonywania elementów planu testów -
- Elementy konfiguracji
- Pre-Processors
- Timers
- Sampler
- Postprocesory (chyba że SampleResult ma wartość null)
- Asercje (chyba że SampleResult ma wartość null)
- Listeners (chyba że SampleResult ma wartość null)