Procesor służy do modyfikowania samplerów w ich zakresie.
Istnieją 2 typy procesorów:
- Preprocesor
- Postprocesor
Preprocesor:
Preprocesor wykonuje jakąś akcję przed wysłaniem żądania próbnika.
Rozważmy prosty przykład: powiedzmy, że chcesz, aby JMeter przeszedł przez testowaną witrynę, przeanalizował link (sprawdź wszystkie linki na stronie) i zwrócił kod HTML. Przed utworzeniem żądania HTTP należy dodać do kontrolera jakąś akcję, na przykład „parser linku HTML”.
Postprocesor:
Postprocesor wykonuje jakąś akcję po wysłaniu żądania próbnika.
Rozważmy prosty przykład: JMeter wysyła żądanie HTTP do testowanego serwera WWW (itp. Www.google.com) i otrzymuje odpowiedź. Chcesz, aby JMeter zatrzymał test, jeśli odpowiedź serwera jest błędem. Możesz użyć postprocesora do wykonania powyższego zadania w następujący sposób:
Przykład postprocesora
Ten samouczek pokaże Ci instrukcje krok po kroku, jak używać Postprocesora w JMeter. Zacznijmy od prostego skryptu testowego.
- JMeter wysyła żądanie HTTP do serwera WWW testowanego www.google.com.
- JMeter otrzymuje odpowiedź z serwera Google.
- Jeśli odpowiedź serwera jest błędem , JMeter zatrzyma test.
- Jeśli odpowiedź serwera jest OK (brak błędu), JMeter będzie kontynuował test.
Oto mapa drogowa tego przykładu:
Warunek wstępny:
Możemy ponownie wykorzystać w kroku 1 i 2 w artykule JMeter do testowania wydajności.
Krok 1) Dodaj grupę wątków
Kliknij prawym przyciskiem myszy Plan testów i dodaj nową grupę wątków: Dodaj -> Wątki (Użytkownicy) -> Grupa wątków
Ale w panelu sterowania Grupa wątków wprowadź Właściwości wątku w następujący sposób:
To ustawienie umożliwia JMeter utworzenie 10 żądań użytkownika do http://www.google.com 10 razy.
Krok 2) Dodaj elementy JMeter
- Dodaj domyślne żądanie HTTP
- Dodaj żądanie HTTP
Nadal wykonujemy wysyłanie przez JMeter żądania http://www.google.com do serwera Google.
Krok 3) Dodaj element postprocesora
Kliknij prawym przyciskiem Grupa wątków -> Dodaj -> Postprocesor -> Procedura obsługi akcji stanu wyniku
Wynik Status Action Handler umożliwia użytkownikowi zatrzymanie wątku lub całego testu, jeśli żądanie użytkownika nie powiodło się.
W okienku uchwytu działania stanu wyniku wybierz opcję Zatrzymaj test teraz . Ten wybór zatrzyma test, jeśli JMeter otrzyma błąd z odpowiedzi serwera.
Krok 4) Skonfiguruj żądanie HTTP
Otwórz panel żądań HTTP. Wpisz „abc” w polu Ścieżka.
Po wpisaniu „abc” do ścieżki, JMeter utworzy żądanie adresu URL do serwera Google: http://www.google.com/abc. Ten adres URL nie istnieje na serwerze Google. To nieprawidłowe żądanie adresu URL, więc serwer Google zwróci błąd.
Krok 5) Dodaj drzewo wyników widoku
Kliknij prawym przyciskiem Grupa wątków -> Dodaj -> Listener -> Wyświetl drzewo wyników
Krok 6) Uruchom test
Wybierz opcję Wyświetl drzewo wyników, naciśnij przycisk Uruchom na pasku menu. Zobaczysz odpowiedź błędu z serwera Google, a test zakończy się bez ukończenia 100 wątków.
Teraz wróć do kroku 4, otwórz okienko żądania HTTP, wprowadź „ kalendarz ” w okienku. To sprawia, że JMeter tworzy żądanie adresu URL https://calendar.google.com/calendar/u/0/r do serwera Google. To jest poprawne żądanie adresu URL, więc serwer Google zwróci OK (bez błędu).
Wybierz opcję Wyświetl drzewo wyników, naciśnij przycisk Uruchom na pasku menu. Zobaczysz odpowiedź OK z serwera Google i test będzie kontynuowany do zakończenia wszystkich 100 wątków.
Rozwiązywanie problemów:
Jeśli napotkasz problem podczas wykonywania powyższego scenariusza… wykonaj następujące czynności:
- Sprawdź, czy łączysz się z Internetem przez proxy. Jeśli tak, usuń proxy.
- Otwórz nową instancję Jmeter
- Otwórz ProcessorTestPlan.jmx w Jmeter
- Kliknij dwukrotnie Grupa wątków -> Wyświetl drzewo wyników
- Uruchom test