Dla zautomatyzowania procesu testowego, możemy przy wykonywaniu testów korzystać z dedykowanego dla JMeter zadania (task) Anta.
Aby korzystać z tegoż zadania, musimy dodać ant-jmeter.jar do
classpath Anta. Jar znajduje się w katalogu $JMETER_HOME/extras
, można
go też pobrać z programmerplanet.org. Skopiowanie jara do
$ANT_HOME/lib
spowoduje automatyczne dodanie jara do odpowiedniego
classpath.
Aby móc w swoim buildfile'u korzystać z zadania jmeter, musimy je napierw w tymże buildfile'u zdefiniować. Robimy to dołączając następujący kod:
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
W tasku jmeter musimy podać parametry:
$JMETER_HOME
,
Następnie musimy podać scenariusze do przetestowania. W tym celu korzystamy albo z parametru testplan, albo z elementu zagnieżdżonego testplans.
Do wykonania pojedynczego scenariusza, stosujemy parametr testplan. Definicja zadania JMeter mogłaby dla pojedynczego scenariusza wyglądać tak:
<jmeter jmeterhome="c:\jakarta-jmeter-1.8.1" testplan="${basedir}/loadtests/JMeterLoadTest.jmx" resultlog="${basedir}/loadtests/JMeterResults.jtl"/>
Wykonanie wielu scenariuszy wymaga od nas użycia zagnieżdżonego elementu testplans. Element ten jest stanadarodwym elementem FileSet Anta. Definicja zadania mogłaby dla wielu scenariuszy wyglądać następująco:
<jmeter jmeterhome="c:\jakarta-jmeter-1.8.1" resultlog="${basedir}/loadtests/JMeterResults.jtl"> <testplans dir="${basedir}/loadtests" includes="*.jmx"/> </jmeter>
W zadaniu jmeter możemy określić argumenty dla maszyny wirtualnej Javy, na której wykonuje się JMeter. Argumenty podajemy, korzystając z zagnieżdzonego elementu jvmarg.
<jmeter jmeterhome="c:\jakarta-jmeter-1.8.1" testplan="${basedir}/loadtests/JMeterLoadTest.jmx" resultlog="${basedir}/loadtests/JMeterResults.jtl"> <jvmarg value="-Xincgc"/> <jvmarg value="-Xmx128m"/> <jvmarg value="-Dproperty=value"/> </jmeter>
Możemy skonfigurować JMeter tak, aby w rezultatach testów uwzględnić szczegółową informację o błędach. W tym celu należy dodać poniższą linię do swojego pliku jmeter.properties:
jmeter.save.saveservice.assertion_results=all
Z kolei dodając poniższą linię do jmeter.properties, możemy zmienić format pliku z wynikami na xml:
jmeter.save.saveservice.output_format=xml
A tu mamy przykładowy desktyptor, który wykonuje jeden z przygotowanych wcześniej scenariuszy testowych.