Fork me on GitHub

Herr Knedel/Lucruri interesante cu Atlassian: utilizarea Bamboo și jMeter fără plugin-uri

Created Sun, 21 Mar 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:51:52 +0000 Schwierigkeitsgrad: Nicht zu leicht und nicht zu schwer

270 Words

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ă:

x
+
Terminal

$ java -jar bin/ApacheJMeter.jar

Vedeți:Testul meu demonstrativ pentru acest tutorial este menit să conțină eșantioane defecte și funcționale. Am setat intenționat timpii de așteptare foarte mici. 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.

x
+
Terminal

$ apt-get update
$ apt-get install python

Creez un nou job și o sarcină de tip shell. Ș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”.