how use preprocessors jmeter
W tym samouczku dowiesz się, jak używać JMeter PreProcessor i jak działają PreProcessory, takie jak SampleTimeOut, UserParameter, HTMLLinkParser itp .:
PreProcessor zawsze wykonuje akcję przed żądaniem Samplera.
Poniżej znajduje się lista preProcesorów używanych w JMeter:
- Parametry użytkownika
- Przykładowy limit czasu
- Preprocesor JSR223
- Preprocesor JDBC
- Preprocesor powłoki fasoli
- Parser linków HTML
- Modyfikator ponownego zapisu adresu URL HTML
- Parametry użytkownika wyrażenia regularnego
=> Kliknij tutaj Kompletne bezpłatne szkolenie na JMeter (ponad 20 filmów)
Czego się nauczysz:
Samouczek wideo JMeter PreProcessor
PreProcessory to czynności wykonywane przed uruchomieniem rzeczywistego próbnika w oprogramowaniu JMeter. Może to być coś w rodzaju przechowywania wartości zmiennej, definiowania limitów czasu itp. Preprocesor można dodać na poziomie grupy wątków lub poziomu próbnika.
SampleTimeOut PreProcessor może zdefiniować limit czasu próbkowania dla żądania. Dowolny czas pobierania próbki dłuższy niż określony byłby nieudany. UserParameter PreProcessor służy do definiowania wartości zmiennych dla określonych użytkowników.
Przykład , można zdefiniować wartość zmiennej dla określonych użytkowników, a kiedy próbnik jest uruchomiony, pobierane są wartości określone w tym preprocesorze.
HTMLLinkParser analizuje wszystkie linki z odpowiedzi na poprzednie żądanie, a następnie możesz losowo kliknąć dowolne łącze na stronie. Możesz określić „. *” W swojej ścieżce, co spowoduje wybranie dowolnego łącza znajdującego się na stronie i trafi do niego tym samym protokołem, co w określonym protokole.
1 nf 2 nf 3 nf
Powszechnie używany preprocesor JMeter
Przejdźmy przez kilka preprocesorów JMeter:
# 1) Preprocesor JSR223
JSR223 Preprocesor wykonuje przed żądaniem próbnika i uruchamia operację przy użyciu skryptu JSR223. Kilka języków, których można używać, to JAVA, Groovy, BeanShell, JEXL itp.
Wykonaj poniższe czynności, aby dodać ten preprocesor:
- Dodaj grupę wątków w planie testów.
- Dodaj próbnik „Żądanie HTTP”.
- Dodaj preprocesor JSR223.
- Dodaj odbiornik „Wyświetl drzewo wyników”.
Przykład :
Poniższy skrypt można napisać za pomocą JavaScript w celu zmodyfikowania próbnika żądań HTTP:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Zmienne JSR223 dostępne do użycia przez skrypt to:
- Log: Ta zmienna może służyć do zapisywania w pliku dziennika.
- Parametry: Parametry jako ciąg.
- Etykieta: To jest etykieta sznurkowa.
- Nazwa pliku: Nazwa pliku skryptu, jeśli został dodany jakiś zewnętrzny skrypt
- Którego: Jest to zmienna JMeter, która daje dostęp do odczytu i zapisu zmiennych.
- Próbnik: Zapewniony jest dostęp do aktualnego próbnika.
- argumenty: Tablica ciągów jako parametr
- rekwizyty: Właściwości JMeter
- ctx: To jest kontekst JMeter, który zapewnia dostęp do kontekstu
- NA ZEWNĄTRZ: Aby wydrukować wiadomość (system.out)
# 2) Preprocesor JDBC
Ten procesor może być używany do uruchamiania zapytań SQL przed wykonaniem próbnika.
Aby dodać preprocesor, wykonaj poniższe czynności:
- Dodaj grupę wątków do planu testów.
- Dodaj próbnik „Żądanie HTTP”.
- Dodaj Menedżera nagłówków HTTP.
- DODAJ JDBC PreProcessor do grupy wątków.
- Dodaj odbiornik jako „Wyświetl drzewo wyników”.
Przykład:
W przypadku, gdy użytkownik chce odzyskać nazwę użytkownika i hasło dla użytkowników:
- Dodaj grupę wątków do planu testów.
- Dodaj próbnik „Żądanie HTTP” (szczegóły wymaganej nazwy użytkownika danych i hasła można również podać w części głównej próbnika, ale nie będzie to służyć celowi, ponieważ aktualizacja któregokolwiek z tych szczegółów będzie musiała zostać zaktualizowana w skrypcie dobrze)
- Dodaj element konfiguracji „HTTP Header Manager” i podaj szczegółowe informacje dotyczące nazwy i wartości.
- Dodaj preprocesor JDBC.
Rodzaj zapytania można wybrać z listy rozwijanej jako Wybierz instrukcję i Zapytanie można określić, aby wyodrębnić to samo w polu Zapytanie.
Zmienne do wyodrębnienia mogą być oddzielone przecinkami.
- Dodaj Listener „Wyświetl drzewo wyników” i uruchom plan testów, aby wyświetlić wyniki.
JDBC Preprocesor ma pole Rodzaj zapytania które można wybrać zgodnie z wymaganiami.
Jak w przypadku, gdy użytkownik chce aktualizacja szczegóły, Zaktualizuj instrukcję będzie musiał zostać użyty. Podobnie, w razie potrzeby, można wybrać inny typ zapytania.
Przykład przygotowanej instrukcji Select:
W przypadku, gdy użytkownik musi usunąć identyfikator spotkania pacjenta z rekordów dotyczących nazwiska pacjenta, musi skonfigurować połączenie JDBC, a następnie dodać preprocesor JDBC, wybierając typ zapytania jako Przygotowana instrukcja Select. Uruchom plan testów. Wyniki mogą być widoczne dla dodanego słuchacza.
# 3) Parser linków HTML
Ten procesor służy do analizowania odpowiedzi HTML i wyodrębniania wszystkich łączy i formularzy.
Wykonaj poniższe czynności, aby dodać preprocesor:
- Dodaj grupę wątków do planu testów.
- Dodaj próbnik „Żądanie HTTP”
- Dodaj prosty kontroler.
- Dodaj kolejny próbnik „Żądanie HTTP”.
- Dodaj preprocesor parsera linków HTML.
- Dodaj odbiornik „Wyświetl drzewo wyników”.
Przykład:
Aby zobaczyć, jak można indeksować strony wewnętrzne, można wykonać poniższe czynności:
- W Thread Group dodaj Sampler „HTTP Request” i podaj nazwę serwera lub IP. Zmień nazwę próbnika na HTTP Request_Main.
- Dodaj Simple Controller do planu testów.
- Dodaj jeszcze jeden próbnik „Żądanie HTTP” i podaj nazwę serwera lub adres IP, a także podaj /. * w ścieżce, aby można było indeksować wszystkie znalezione linki. Zmień nazwę próbnika na HTTP Request_Internal.
- Dodaj preprocesor „HMTL Link Parser” i detektor jako „Wyświetl drzewo wyników”, aby wyświetlić dane wyjściowe.
Postępując zgodnie z powyższymi krokami, wynik dla pierwszego próbnika będzie nazwą witryny internetowej w polu żądania, podczas gdy dla drugiego próbnika danymi wyjściowymi będą strony wewnętrzne przeszukane w podanej witrynie internetowej. Zobacz poniższe zrzuty ekranu dla tego samego.
# 4) Modyfikator ponownego zapisu adresu URL HTTP
Do zarządzania adresem URL informacji o sesji używana jest technika ponownego zapisu. Ma tę zaletę, że nawet jeśli plik cookie jest wyłączony w dowolnym systemie, nadal ma potencjał do działania.
Aby dodać preprocesor, wykonaj poniższe czynności:
- Dodaj grupę wątków do planu testów.
- Dodaj żądanie HTTP do planu testów.
- Dodaj preprocesor „modyfikator ponownego zapisywania adresu URL HTTP” do planu testów.
- Dodaj do wątku jeszcze jedno „żądanie HTTP” próbnika.
Możemy użyć tego preprocesora w następujący sposób:
Ten preprocesor można zastosować na poziomie wątku, a także na określonym próbniku. Jeśli zostanie zastosowany na poziomie wątku, doda argument dla każdego żądania, które znajduje się w wątku.
Nazwa argumentu sesji : W tym polu należy podać nazwę parametru identyfikatora sesji. Nazwę parametru można znaleźć w odpowiedzi. Ten parametr będzie przeszukiwany na stronie i gdziekolwiek zostanie znaleziony, zostanie przyjęta jego przypisana wartość.
Xbox One - data premiery zestawu słuchawkowego do rzeczywistości wirtualnej
Rozszerzenie ścieżki: W przypadku, gdy aplikacja przepisuje adres URL dodając średnik, a także zawiera identyfikator sesji, tę opcję należy wybrać.
Nie używaj równości w rozszerzeniu ścieżki: W przypadku, gdy aplikacja przepisuje adresy URL bez rozszerzenia '=' znak pomiędzy nazwą parametru a wartością, opcję tę należy zaznaczyć.
Nie używaj znaku zapytania w przedłużeniu ścieżki - Jeśli aplikacja ma zatrzymać zamykanie lub kończenie ciągu zapytania w rozszerzeniu ścieżki, opcję należy zaznaczyć.
Identyfikator sesji pamięci podręcznej: W przypadku, gdy identyfikator sesji jest wymagany do późniejszego użycia, należy wybrać tę opcję.
Kodowanie adresu URL: W przypadku, gdy wymagane są zakodowane adresy URL, należy wybrać tę opcję.
# 5) Parametry użytkownika RegEx
Ten preprocesor umożliwia pobranie dynamicznej wartości parametrów HTTP z żądania HTTP za pomocą ekstraktora wyrażeń regularnych. Jest ustawiony na niezależne wątki w planie testów.
Aby dodać preprocesor, wykonaj poniższe czynności:
- Dodaj grupę wątków do planu testów.
- Dodaj żądanie HTTP do grupy wątków z nazwą serwera lub adresem IP.
- Dodaj Postprocessor „Regular Expression Extractor”, aby wyodrębnić wartości.
- Dodaj kolejne żądanie HTTP do grupy wątków i podaj nazwę serwera lub adres IP.
- Dodaj preprocesor „Regex User Parameter” do drugiego żądania HTTP.
Ten preprocesor może być używany w następujący sposób:
Nazwa odniesienia wyrażenia regularnego: Podana nazwa odwołania będzie zawierała zmienne, które musiały zostać przeanalizowane z pierwszego żądania HTTP.
Nazwy parametrów numer grupy regexp: 1 reprezentuje tę grupę 1 wyrażenia regularnego. Zwróci plik nazwy zmiennych .
Wartości parametrów numer grupy regex: 2 reprezentuje tę grupę 2 wyrażenia regularnego. Zwróci plik wartości zmiennych .
# 6) Preprocesor BeanShell
Ten preprocesor pobiera losową wartość z określonej listy. Może generować losowe ciągi, aby przypisywać wartości do zmiennych.
Preprocesor BeanShell zostanie dodany pod próbnikiem.
Aby dodać preprocesor, wykonaj poniższe czynności:
- Dodaj grupę wątków do planu testów.
- Dodaj Sampler do grupy wątków.
- Dodaj „BeanShell Preprocessor” do dodanego samplera.
Przykład:
W przypadku, gdy zmienna zdefiniowana przez użytkownika jest ustawiona na „prawda” jako wartość i ta wartość musi zostać zmieniona na „fałsz”, do tego samego można użyć poniższego polecenia. (Usuń to zmienna definiowana przez użytkownika, której wartość należy zmienić))
vars.put(“delete”,”false”);
Jeśli ma być użyty jakiś zewnętrzny skrypt, w takim przypadku można przesłać plik dla skryptu w polu Nazwa pliku. Dostępna jest opcja przeglądania, aby przesłać plik zewnętrzny.
Często zadawane pytania dotyczące preprocesora JMeter
Pytanie 1) Co to jest preprocesor w JMeter?
Odpowiedź : Preprocesor to element używany do wykonywania akcji przed uruchomieniem żądania próbnika. Istnieje wiele preprocesorów, których można użyć do osiągnięcia różnych celów, takich jak utrzymywanie wartości w zmiennej, pobieranie danych z baz danych itp. Preprocesory mogą być dodawane na poziomie próbnika lub wątku.
Pytanie 2) Co to jest preprocesor Beanshell w JMeter?
Odpowiedź : BeanShell jest oparty na skrypcie i jest wbudowanym komponentem JMeter. Ten preprocesor jest używany do wykonywania skryptu przed uruchomieniem Samplera.
Wniosek
Preprocesory JMeter - jak omówiliśmy, działa tuż przed wykonaniem samplera. JSR223 i Beanshell są preprocesorami opartymi na skryptach, podczas gdy JDBC jest używany do działań w bazie danych, ponieważ pobieranie lub pobieranie danych jest wymagane.
Parser linków HTML i parametr użytkownika RegEx nie są używane tak popularnie, jak inne preprocesory, ale służą celowi zgodnie z wymaganiami i mają swoje zalety.
rekomendowane lektury
- Słuchacze JMeter: analiza wyników z różnymi słuchaczami
- Parametryzacja danych JMeter za pomocą zmiennych zdefiniowanych przez użytkownika
- Zmienne i funkcje narzędzia JMeter
- Jak osiągnąć korelację JMeter na przykładzie
- Top 5 wtyczek JMeter i jak ich używać (z przykładami)
- JMeter Timers: Constant, BeanShell i Guassian Random Timer
- Jmeter Controllers Część 2
- Jmeter Controllers Część 1