Fork me on GitHub

Herr Knedel/Hal-hal keren dengan Atlassian: menggunakan Bamboo dan jMeter tanpa plugin

Created Sun, 21 Mar 2021 00:00:00 +0000 Modified Sat, 01 Oct 2022 10:54:44 +0000 Schwierigkeitsgrad: Nicht zu leicht und nicht zu schwer

258 Words

Hari ini saya membuat tes jMeter di Bamboo. Tentu saja, Anda juga dapat menerapkan pengaturan pengujian ini dengan pelari Gitlab atau budak Jenkins.

Langkah 1: Buat tes jMeter

Pertama, tentu saja, Anda harus membuat tes jMeter. Saya mengunduh jMeter dari url berikut https://jmeter.apache.org/ dan memulainya dengan perintah ini:

x
+
Terminal

$ java -jar bin/ApacheJMeter.jar

Lihat: Tes demo saya untuk tutorial ini dimaksudkan untuk berisi sampler yang rusak dan berfungsi. Saya sengaja menetapkan batas waktu yang sangat rendah. Saya menyimpan dengan file JMX untuk tugas Bamboo saya.

Langkah 2: Siapkan Agen Bambu

Karena Java adalah prasyarat untuk agen Bamboo, saya hanya menginstal Python setelahnya.

x
+
Terminal

$ apt-get update
$ apt-get install python

Saya membuat pekerjaan baru dan tugas shell. Dan masukkan skrip shell ini:

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

Direktori alat ditetapkan pada mesin dan bukan bagian dari repositori proyek. Selain itu, saya menggunakan skrip Python ini:

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

Saya juga membuat pola artefak untuk log hasil.

Siap!

Sekarang saya bisa melakukan pekerjaan saya. Setelah saya mengubah batas waktu, tes juga “hijau”.