Procesor w JMeter: PreProcessor & PostProcesor

Spisie treści:

Anonim

Procesor służy do modyfikowania samplerów w ich zakresie.

Istnieją 2 typy procesorów:

  1. Preprocesor
  2. 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.

  1. JMeter wysyła żądanie HTTP do serwera WWW testowanego www.google.com.
  2. JMeter otrzymuje odpowiedź z serwera Google.
  3. Jeśli odpowiedź serwera jest błędem , JMeter zatrzyma test.
  4. 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:

  1. Sprawdź, czy łączysz się z Internetem przez proxy. Jeśli tak, usuń proxy.
  2. Otwórz nową instancję Jmeter
  3. Otwórz ProcessorTestPlan.jmx w Jmeter
  4. Kliknij dwukrotnie Grupa wątków -> Wyświetl drzewo wyników
  5. Uruchom test