This GitHub Action helps to automate performance testing using Apache JMeter and its plugins.
PerfAction also featured in LoadTestWorld 2021
conference.
Following are the prerequisites for this GitHub Action:
test-plan-path
- Mandatory
- JMeter test plan and its dependencies such as test data, plugins etc
args
- Optional
- Additional arguments you can pass it to your test plan execution
test-results
- Optional
- If you want your result to have a different extension than jtl such as
.csv
default valueresult.jtl
.
- name: JMeter Test
uses: QAInsights/[email protected]
with:
test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx
args: ""
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: jmeter-results
path: result.jtl
if-no-files-found: error
- name: JMeter Test
uses: QAInsights/[email protected]
with:
test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx
args: "-H my.proxy.server -P 8000"
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: jmeter-results
path: result.jtl
if-no-files-found: error
Please make sure that you create a directory where you want to generate HTML report.
- name: Create reports directory
run: mkdir reports
- name: JMeter Test
uses: QAInsights/[email protected]
with:
test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx
args: "-e -o ./reports/html/"
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: jmeter-results
path: result.jtl
if-no-files-found: error
- name: Upload HTML Reports
uses: actions/upload-artifact@v3
with:
name: jmeter-html-reports
path: reports
if-no-files-found: error
By default, this GitHub Action will log the performance statistics under result.jtl
. After the execution, it will be uploaded to the GitHub artifacts.
To download the JMeter results, go to your Actions
and then click on the executed workflow, then click on jmeter-results
link which will download the zip file.