Uruchamianie JMetera na Githubie

JMeter

Loading

Uruchamianie JMetera na Githubie to kolejny wpis w którym chcemy Wam pokazać możliwości narzędzia i jego wykorzystania w codziennej pracy. Jest to kolejny z wpisów w którym przedstawiamy Wam możliwość integracji kolejnego narzędzia z Githubem. 

Czym jest JMeter

Apache JMeter to projekt Apache, który może być używany jako narzędzie do testowania obciążenia do analizowania i mierzenia wydajności różnych usług, ze szczególnym uwzględnieniem aplikacji internetowych. Więcej infromacji i artykułów o JMeterze w dedykowanym dziale

Tworzenie jmeter_workflow.yml

Chcąc uruchamiać testy z poziomu Githuba nasze testy będą opierać się o stworzenie pliku bitbucket-pipelines.yml, który będzie naszym centrum dowodzenia i zarządzania. Do uruchomienia naszych testów konieczne będzie:

  • runner na Githubie , na podstawie którego testy będą uruchamiane
  • obraz dockerowy Ubuntu;
  • obraz dockerowy JMetera – dostępne na hub.docker.com
  • nasz test zapisany jako plik *.jmx
I. Najprostsza wersja

W naszym projekcie testowym tworzymy plik jmeter_workflow.yml a następnie uzupełniamy go w najprostszy sposób:

name: JMeter Performance Test

on:
push:
branches:
- main
workflow_dispatch:

jobs:
run_jmeter_test:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Remove existing contents in report directory
run: rm -rf ./report/*

- name: Run JMeter Test
run: |
docker run --rm \
-v "$(pwd)":/jmeter \
-w /jmeter \
justb4/jmeter:latest \
-n -t ./FirstTest.jmx -l ./testresults.log
 
1. image – nazwy dockerowych obrazów z których skorzystamy
2. Name – nazwy akcji które się dzieją
 
II. Raporty i artefakty

Jeżeli chcesz możesz generować i potem zapisywać swój raport. Dzięki temu będziesz mógł analizować dokładniej wyniki, lub przedstawiać je innym w formie graficznej. Poszerzamy skrypt o komendę:

 -e -o report/results.csv
Gotowy skrypt wygląda następująco:
name: JMeter Performance Test

on:
push:
branches:
- main
workflow_dispatch:

jobs:
run_jmeter_test:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Remove existing contents in report directory
run: rm -rf ./report/*

- name: Run JMeter Test
run: |
docker run --rm \
-v "$(pwd)":/jmeter \
-w /jmeter \
justb4/jmeter:latest \
-n -t ./FirstTest.jmx -l ./testresults.log -e -o ./report -Jjmeter.save.saveservice.output_format=csv

- name: Upload Test Results
uses: actions/upload-artifact@v2
with:
name: JMeter Results
path: ./report

Ważne jest abyście w skrypcie podanym w pierwszej linii podawali też rozszerzenie by otrzymać raporty. 

Uruchamianie JMetera na Gitlabie - dashboard

Schedules

Jeżeli chcemy tak przygotowane testy w ramach naszego repozytorium, możemy uruchamiać cyklicznie. Z pomocą przychodzi nam Githubie i możliwość dodania w skrypcie czasu

on: schedule: - cron: '0 0 * * *' # Uruchamia co 24 godziny

Rozwiązanie to jest korzystne, gdyż dzięki niemu możemy wykorzystywać możliwości JMetera bez naszego ręcznego uruchamiania.  

Podsumowanie

Uruchamianie JMetera na Githubie to kolejny wpis w ramach którego prezentujemy Wam możliwości integracji narzędzi z Githubem. Ponadto wpis ten tworzony jest w ramach szerzenia wiedzy z zakresu testów wydajnościowych. Zapraszamy na inne wpisy związane z JMeterem