Sometimes we just need the data from Aggregate Report to get the data for Benchmarking Testing. We run the JMeter script and then JTL file is generated.
We can use JMeterPluginsCMD to get the data from JTL to CSV.
I wrote a workflow for Github Actions that run all jmx files from repo, then create JTL file, then create CSV file from this JTL file. JTL and CSV files are saved as artifacts in Workflow run.
My Workflow
Submission Category:
Maintainer Must-Haves,
DIY Deployments
Yaml File or Link to Code
sebiboga / jmeter_one
JMeter scripts
jmeter_one
- different JMeter scripts
- GitHUB Actions used to define the workflow to run all jmeter scripts from repository [main branch]
- GitHUB Actions used to define the workflow to run all jmeter scripts from repository and save Test Report as artifact [main branch]
- GitHUB Actions used to define the workflow to run all jmeter scripts from repository, generate JTL file and then generates CSV file from JTL file, and then save JTL&CSV as artifact [main branch]
# This is a workflow to help you run all JMeter scripts with Actions, and save JTL and CSV files as artifacts
name: jmeter_JTL_to_CSV_test_results
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: where are the files?
run: |
pwd
ls
- name: create test_report
run: |
mkdir $GITHUB_WORKSPACE/test_report
# Runs a set of commands using the runners shell
- name: install jmeter
run: |
java -version
wget https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.4.1.zip
unzip apache-jmeter-5.4.1.zip
cd apache-jmeter-5.4.1/bin
./jmeter -v
pwd
- name: install plugins
run: |
cd $GITHUB_WORKSPACE/apache-jmeter-5.4.1
wget -q --no-check-certificate https://jmeter-plugins.org/files/packages/jpgc-dummy-0.4.zip -P .
wget -q --no-check-certificate https://jmeter-plugins.org/files/packages/jpgc-cmd-2.0.zip -P .
wget -q --no-check-certificate https://jmeter-plugins.org/files/packages/jpgc-synthesis-2.1.zip -P .
wget -q --no-check-certificate https://jmeter-plugins.org/files/packages/jpgc-filterresults-2.2.zip -P .
unzip -o jpgc-dummy-0.4.zip && rm jpgc-dummy-0.4.zip
unzip -o jpgc-cmd-2.0.zip && rm jpgc-cmd-2.0.zip
unzip -o jpgc-synthesis-2.1.zip && rm jpgc-synthesis-2.1.zip
unzip -o jpgc-filterresults-2.2.zip && rm jpgc-filterresults-2.2.zip
- name: run jmx scripts
run: |
cd $GITHUB_WORKSPACE
for i in $( ls -A1 *.jmx); do
cd $GITHUB_WORKSPACE/apache-jmeter-5.4.1/bin
mkdir $GITHUB_WORKSPACE/test_report/${i%.jmx}
./jmeter -n -t $GITHUB_WORKSPACE/$i -l $GITHUB_WORKSPACE/${i%.jmx}.jtl
./JMeterPluginsCMD.sh --generate-csv $GITHUB_WORKSPACE/test_report/${i%.jmx}.csv --input-jtl $GITHUB_WORKSPACE/${i%.jmx}.jtl --plugin-type SynthesisReport
done
- name: move jtl files to test_report
run: |
mv *.jtl $GITHUB_WORKSPACE/test_report
- name: Upload JMeter Test Results
uses: actions/upload-artifact@v2.2.4
with:
name: test_results
path: test_report
# Runs a set of commands using the runners shell
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
Additional Resources / Info
We have installed : jpgc-synthesis-2.1.zip , jpgc-filterresults-2.2.zip , jpgc-cmd-2.0.zip and jpgc-dummy-0.4.zip plugins for JMeter to be able to generate the CSV file.
Top comments (0)