JMeter – tryb NON-GUI
JMeter w wersji GUI powinien służyć Wam wyłącznie do sporządzania scenariuszy i przypadków testowych. Ewentualnie do sprawdzenia czy sam test w sobie działa.
Przeprowadzanie testów i badanie wydajności powinno odbywać się jedynie poprzez wywoływanie go z konsoli.
Najlepsze praktyki dla użytkowania aplikacji opisane są tutaj a także i pod tym linkiem.
PODSTAWOWE OPCJE
Aby uruchomić JMetera w trybie non gui w consoli musisz odnaleźć lokalizację aplikacji a następnie wejść do katalogu bin.
W tym katalogu znajdują się pliki do włączenia apki z rozszerzeniami *.bat (dla Windowsa) lub *.sh (Linux lub iOS).
Skróty literowe:
-n Określa, że JMeter ma działać w trybie innym niż GUI
-t [nazwa pliku JMX, który zawiera plan testowy].
-l [nazwa pliku JTL, do którego należy zapisać przykładowe wyniki].
-jot [nazwa pliku dziennika uruchamiania JMeter].
-r Uruchom test na serwerach określonych przez właściwość JMeter „remote_hosts”
-R [lista zdalnych serwerów] Uruchom test na określonych zdalnych serwerach
-sol [ścieżka do pliku CSV] generuje tylko pulpit nawigacyjny raportu
-mi wygeneruj pulpit raportów po teście
-o folder wyjściowy, w którym ma zostać wygenerowany raport po teście. Folder nie może istnieć ani być pusty
Skrypt pozwala także określić opcjonalne informacje zapory / serwera proxy:
-H [nazwa hosta lub adres IP serwera proxy]
-P [port serwera proxy]
-N [nieproxy hosty] (np. * .apache.org | localhost)
-u [nazwa użytkownika do uwierzytelnienia proxy - jeśli jest wymagana]
-za [hasło do uwierzytelnienia proxy - jeśli wymagane]
Przykładowe komendy:
- jmeter -n -t test.jmx (odpalenie standardowego testu)
- jmeter -n -t test.jmx -R 10.0.0.1 (odpalenie testu na zewnętrznej maszynie o podanym nr IP)
- jmeter -n -t test.jmx -l test -e -o C:\apache-jmeter-5.1.1\bin\wyniki.csv (odpalenie testu z wygenerowanym raportem)
BARDZIEJ ZAAWANSOWANE
Wszystkie polecania w Thread Group możemy parametryzować i później wartości ustawiać wprost z konsoli - jeżeli nie chcemy ciągle włączać JMetera by dokonywać zmian w teście.
Elementy zmienne:
- Number of Threads (users)
- Ramp-Up Period
- Duration
Przykłady:
- ${__P(THREADS,180)}
- ${__P(RAMP_UP,180)}
- ${__P(DURATION,180)}
OPCJONALNIE
JMeter posiada plik jmeter.properties gdzie można modyfikować różne wartości dla aplikacji (będzie o tym szerzej w innym wpisie).
Z poziomu konsoli bez konieczności edycji pliku możemy dokonywać zmian za pomocą parametrów.
- D[prop_name]=[value] definiuje wartość właściwości systemowej Java.
-J[prop_name]=[value] definiuje lokalną właściwość JMeter.
-G[prop_name]=[value] definiuje właściwość JMeter, która ma być wysyłana do wszystkich zdalnych serwerów.
-G[propertyfile] definiuje plik zawierający właściwości JMeter, który ma być wysyłany do wszystkich zdalnych serwerów.
-L[category]=[priority] zastępuje ustawienie rejestrowania, ustawiając określoną kategorię na dany poziom priorytetu.
-L flag można używać bez nazwy kategorii, aby ustawić poziom rejestrowania użytkownika.
PEŁNA LISTA
Copyright (c) 1999-2019 The Apache Software Foundation--?
print command line options and exit
-h, --help
print usage information and exit
-v, --version
print the version information and exit
-p, --propfile
the jmeter property file to use
-q, --addprop
additional JMeter property file(s)
-t, --testfile
the jmeter test(.jmx) file to run
-l, --logfile
the file to log samples to
-j, --jmeterlogfile
jmeter run log file (jmeter.log)
-n, --nongui
run JMeter in nongui mode
-s, --server
run the JMeter server
-H, --proxyHost
Set a proxy server for JMeter to use
-P, --proxyPort
Set proxy server port for JMeter to use
-N, --nonProxyHosts
Set nonproxy host list (e.g. *.apache.org|localhost)
-u, --username
Set username for proxy server that JMeter is to use
-a, --password
Set password for proxy server that JMeter is to use
-J, --jmeterproperty =
Define additional JMeter properties
-G, --globalproperty =
Define Global properties (sent to servers)
e.g. -Gport=123
or -Gglobal.properties
-D, --systemproperty =
Define additional system properties
-S, --systemPropertyFile
additional system property file(s)
-L, --loglevel =
[category=]level e.g. jorphan=INFO or jmeter.util=DEBUG
-r, --runremote
Start remote servers (as defined in remote_hosts)
-R, --remotestart
Start these remote servers (overrides remote_hosts)
-d, --homedir
the jmeter home directory to use
-X, --remoteexit
Exit the remote servers at end of test (non-GUI)
-g, --reportonly
generate report dashboard only, from a test results file
-e, --reportatendofloadtests
generate report dashboard after load test
-o, --reportoutputfolder
output folder for report dashboard