Astăzi creez un test jMeter în Bamboo. Bineînțeles, puteți implementa această configurație de testare și cu Gitlab runners sau Jenkins slaves.
Pasul 1: Creați testul jMeter
Mai întâi, desigur, trebuie să creați un test jMeter. Am descărcat jMeter de la următoarea adresă https://jmeter.apache.org/ și l-am pornit cu această comandă:
$ java -jar bin/ApacheJMeter.jar
Salvez cu fișierul JMX pentru sarcina mea Bamboo.
Pasul 2: Pregătiți agentul Bamboo
Deoarece Java este o condiție prealabilă pentru agenții Bamboo, eu instalez Python doar după aceea.
$ apt-get update
$ apt-get install python
Și introduceți acest script shell:
#!/bin/bash
java -jar /tools/apache-jmeter-5.4.1/bin/ApacheJMeter.jar -n -t test.jmx -l requests.log > result.log
echo "Ergebnis:"
cat result.log
if cat result.log | python /tools/check.py > /dev/null;
then
echo "Proceed... Alles Prima!"
exit 0
else
echo "Returned an error.... Oje!"
exit 1
fi
Directorul de instrumente este fixat pe mașină și nu face parte din depozitul de proiecte. În plus, folosesc acest script Python:
#!/usr/bin/python
import re
import sys
for line in sys.stdin:
print line,
match = re.search('summary =[\s].*Err:[ ]{0,10}([1-9]\d{0,10})[ ].*',line)
print 'Check in line if Err: > 0 -> if so Error occured -> Test fails: '
print match
if match :
print "exit 1"
sys.exit(1)
print "nothing found - exit 0"
sys.exit(0)
De asemenea, creez un model de artefact pentru jurnalele de rezultate.
Gata!
Acum îmi pot face treaba. După ce am schimbat timeout-urile, testul este, de asemenea, “verde”.