Fork me on GitHub

Herr Knedel/Coisas legais com Atlassian: usando Bamboo e jMeter sem plugins

Created Sun, 21 Mar 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:44:25 +0000 Nível de dificuldade: Não muito fácil e não muito difícil

291 Words

Hoje estou a criar um teste de jMeter em Bamboo. É claro, você também pode implementar esta configuração de teste com corredores Gitlab ou escravos Jenkins.

Passo 1: Criar teste jMeter

Primeiro, é claro, você tem que criar um teste de jMeter. Eu baixei o jMeter da seguinte url https://jmeter.apache.org/ e o iniciei com este comando:

x
+
Terminal

$ java -jar bin/ApacheJMeter.jar

Veja:O meu teste demo para este tutorial destina-se a conter amostras defeituosas e funcionais. Eu estabeleci os intervalos de tempo muito baixos de propósito. Eu guardo com o ficheiro JMX para a minha tarefa Bamboo.

Passo 2: Preparar o Agente Bamboo

Como Java é o pré-requisito para agentes Bamboo, eu só instalo o Python depois.

x
+
Terminal

$ apt-get update
$ apt-get install python

Eu crio um novo trabalho e uma tarefa de shell. E insira este roteiro da concha:

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

O diretório de ferramentas é fixado na máquina e não faz parte do repositório do projeto. Além disso, eu uso este guião 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)

Eu também crio um padrão de artefacto para os registos de resultados.

Pronto!

Agora eu posso fazer o meu trabalho. Depois de ter mudado os intervalos de tempo, o teste também é “verde”.