JMeter Elementy: grupa wątków, samplery, słuchacze, konfiguracja
W czym jest Element JMeter?
Różne składniki JMeter nazywane są Elementami. Każdy Element jest przeznaczony do określonego celu.
Poniższy rysunek przedstawia kilka wspólnych elementów JMeter.
Przestudiowanie wszystkich elementów za jednym razem jest zaproszeniem do zamieszania i nudy. W tym miejscu omówimy komponenty, które należy znać, zanim zaczniesz Testowanie in JMeter.
Pozostałe komponenty zostaną omówione tak, jak w przypadku ich użycia w kolejnych tutorialach. Elementy omówione w tym samouczku to
Grupa wątków
Grupy wątków to zbiór wątków. Każdy wątek reprezentuje jednego użytkownika korzystającego z testowanej aplikacji. Zasadniczo każdy wątek symuluje jedno rzeczywiste żądanie użytkownika skierowane do serwera.
Elementy sterujące grupy wątków umożliwiają ustawienie liczby wątków dla każdej grupy.
Na przykład, jeśli ustawisz liczbę wątków na 100; JMeter utworzy i zasymuluje 100 żądań użytkowników do testowanego serwera
Próbniki
Jak już to wiemy JMeter obsługuje testowanie HTTP, FTP, JDBC i wielu innych protokołów.
Wiemy już, że grupy wątków symulują żądanie użytkownika kierowane do serwera
Ale skąd grupa wątków wie, jakiego rodzaju żądania (HTTP, FTP itp.) musi wysłać?
Odpowiedzią są samplery
Żądaniem użytkownika może być żądanie FTP, żądanie HTTP, żądanie JDBC… itd.
Żądanie FTP
Wyobraźmy sobie, że chcesz przetestować wydajność serwera FTP. Możesz użyć próbnika żądań FTP w JMeter wykonać to zadanie. Ten kontroler umożliwia wysyłanie żądań FTP „pobierz plik” lub „prześlij plik” do serwera FTP.
Na przykład, jeśli chcesz pobrać plik „Test.txt” z testowanego serwera FTP, musisz skonfigurować niektóre parametry w JMeter jak na rysunku poniżej
JMeter wyśle polecenie FTP do serwera FTP ftp.example.com
, a następnie pobierz plik Test.txt z tego serwera.
Żądanie HTTP
Ten próbnik umożliwia wysłanie żądania HTTP/HTTPS do serwera internetowego.
Rozważ poniższy przykład. JMeter wysyła żądanie HTTP do witryny Google i pobiera pliki HTML lub obrazy z tej witryny.
W samouczku JMeter Test wydajności, wyjaśnimy więcej na temat tego żądania HTTP.
Żądanie JDBC
Ten próbnik umożliwia wykonanie bazy danych Test wydajności. Wysyła żądanie JDBC (zapytanie SQL) do bazy danych.
Na przykład serwer bazy danych ma pole test_result zapisane w tabeli o nazwie test_tbl. Chcesz wysłać zapytanie o te dane do serwera bazy danych; możesz skonfigurować JMeter wysłać a SQL zapytanie do tego serwera w celu pobrania danych.
Próbnik BSF
Ten próbnik umożliwia napisanie próbnika przy użyciu pliku a BSF język skryptowy.
Oto przykład samplera BSF w formacie JMeter
Dostęp do próbnika dziennika
Ten próbnik umożliwia odczytywanie dzienników dostępu i generowanie żądań HTTP. Dziennik może mieć postać obrazu, HTML, CSS…
Próbnik SMTP
Jeśli chcesz przetestować serwer pocztowy, możesz użyć samplera SMTP. Ten sampler służy do wysyłania wiadomości e-mail za pomocą protokołu SMTP.
Słuchacze
Słuchacze: pokazuje wyniki wykonania testu. Mogą wyświetlać wyniki w innym formacie, takim jak drzewo, tabela, wykres lub plik dziennika
Odbiorniki wyników wykresu wyświetlają czasy odpowiedzi serwera na wykresie
Widok drzewa wyników pokazuje wyniki żądania użytkownika w podstawowym formacie HTML
Tabela Wynik pokazuje podsumowanie wyniku testu w formie tabeli
Log pokazuje podsumowanie wyników testu w pliku tekstowym
Elementy konfiguracji
skonfiguruj wartości domyślne i zmienne do późniejszego wykorzystania przez samplery.
Poniższy rysunek przedstawia niektóre powszechnie używane elementy konfiguracji w JMeter
Konfiguracja zbioru danych CSV
Załóżmy, że chcesz przetestować witrynę internetową dla 100 użytkowników logujących się przy użyciu różnych danych uwierzytelniających. Nie musisz nagrywać scenariusza 100 razy! Możesz sparametryzować skrypt, aby wprowadzić różne dane logowania. Te dane logowania (np. nazwa użytkownika, hasło) mogą być przechowywane w pliku tekstowym. JMeter posiada element pozwalający na odczytanie różnych parametrów z tego pliku tekstowego. Jest to „Konfiguracja zestawu danych CSV”, która służy do odczytywania linii z pliku i dzielenia ich na zmienne.
To jest przykład danych CSV. Jest to plik tekstowy zawierający użytkownika i hasło umożliwiające zalogowanie się do docelowej witryny internetowej
Menedżer plików cookie HTTP
Wyjaśnijmy to na przykładzie –
Korzystałeś z przeglądarki (Firefox, IE… itd.), aby przeglądać www.google.com
Logujesz się za pomocą swojego użytkownika i hasła.
Twoja nazwa użytkownika i hasło będą przechowywane na Twoim komputerze w postaci plików cookie.
Następnym razem, kiedy odwiedzisz www.google.com, nie musisz logować się ponownie, ponieważ Twoja przeglądarka będzie używać plików cookie jako danych użytkownika do logowania.
Menedżer plików cookie HTTP ma również te same funkcje, co przeglądarka internetowa. Jeśli masz żądanie HTTP, a odpowiedź zawiera plik cookie, Menedżer plików cookie automatycznie przechowuje ten plik cookie i będzie go używać przy wszystkich przyszłych żądaniach kierowanych do tej konkretnej witryny.
Domyślne żądanie HTTP
Ten element umożliwia ustawienie wartości domyślnych używanych przez kontrolery żądań HTTP.
Na przykład,
Wysyłasz 100 żądań HTTP do serwera google.com
Dla wszystkich 100 żądań konieczne byłoby ręczne wprowadzenie nazwy serwera = google.com
Zamiast tego możesz dodać pojedyncze domyślne żądanie HTTP z polem „Nazwa serwera lub adres IP” = google.com
Nie musisz pisać 100 razy!
Ten element zostanie szczegółowo wyjaśniony w tutorialu JMeter Test wydajności
Element konfiguracji logowania
Element konfiguracji logowania pozwala dodawać lub zastępować ustawienia nazwy użytkownika i hasła w próbnikach.
Na przykład chcesz symulować logowanie jednego użytkownika do witryny internetowej www.facebook.com z użytkownikiem i hasłem. Możesz użyć elementu konfiguracji logowania, aby dodać to ustawienie użytkownika i hasła w żądaniu użytkownika
Element konfiguracji logowania a konfiguracja danych CSV
Element konfiguracji logowania | Konfiguracja danych CSV |
---|---|
Służy do symulacji logowania jednego użytkownika | Służy do symulowania logowania wielu użytkowników |
Nadaje się tylko do parametrów logowania (użytkownik i hasło) | Nadaje się do dużej liczby parametrów |