Fork me on GitHub

Herr Knedel/Готини неща с Atlassian: използване на Bamboo и jMeter без плъгини

Created Sun, 21 Mar 2021 00:00:00 +0000 Modified Mon, 28 Mar 2022 18:19:07 +0000 Schwierigkeitsgrad: Nicht zu leicht und nicht zu schwer

266 Words

Днес създавам тест на jMeter в Bamboo. Разбира се, можете да приложите тази тестова настройка и с помощта на Gitlab runners или Jenkins slave.

Стъпка 1: Създаване на jMeter тест

Първо, разбира се, трябва да създадете тест на jMeter. Изтеглих jMeter от следния адрес https://jmeter.apache.org/ и го стартирах с тази команда:

x
+
Terminal

$ java -jar bin/ApacheJMeter.jar

Вижте:Моят демонстрационен тест за този урок е предназначен да съдържа дефектни и работещи семплери. Нарочно зададох много ниско времетраене. Запазвам с JMX файла за моята задача в Bamboo.

Стъпка 2: Подготовка на бамбуковия агент

Тъй като Java е необходимо условие за агентите на Bamboo, инсталирам Python едва след това.

x
+
Terminal

$ apt-get update
$ apt-get install python

Създавам нова задача и задача на обвивката. И въведете този скрипт:

#!/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

Директорията с инструменти е фиксирана на машината и не е част от хранилището на проекта. Освен това използвам този скрипт на 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)

Също така създавам модел на артефакти за дневниците с резултати.

Готови!

Сега мога да си върша работата. След като промених времетраенето, тестът също е “зелен”.