https://github.com/qainsights/perfaction
GitHub Action to run performance tests using Apache JMeter and its plugins.
https://github.com/qainsights/perfaction
apache docker github-actions jmeter jmeter-plugins linux performance performance-testing
Last synced: 11 months ago
JSON representation
GitHub Action to run performance tests using Apache JMeter and its plugins.
- Host: GitHub
- URL: https://github.com/qainsights/perfaction
- Owner: QAInsights
- License: mit
- Created: 2020-08-17T01:35:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T08:53:05.000Z (almost 2 years ago)
- Last Synced: 2024-12-01T01:48:44.989Z (over 1 year ago)
- Topics: apache, docker, github-actions, jmeter, jmeter-plugins, linux, performance, performance-testing
- Language: Shell
- Homepage:
- Size: 361 KB
- Stars: 49
- Watchers: 3
- Forks: 69
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 PerfAction
[](https://dev.to/qainsights/perfaction-run-jmeter-performance-tests-191)
[](https://saythanks.io/to/catch.nkn%40gmail.com)
[](https://qainsights.com)
[](https://qainsights.com)
[](https://www.youtube.com/user/QAInsights?sub_confirmation=1)
This GitHub Action helps to automate performance testing using [Apache JMeter](https://jmeter.apache.org/) and its [plugins](https://jmeter-plugins.org/).
PerfAction also featured in `LoadTestWorld 2021` conference.

# 🤔 How to use this GitHub Action?
## Prerequisites
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
* `results-file`
* Optional
* If you want your result to have a different extension than jtl such as `.csv` default value `result.jtl`.
## 👇 Usage
### Example #1 with no arguments
```yaml
- name: JMeter Test
uses: QAInsights/PerfAction@v5.6.2
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
```
### Example #2 with arguments
```yaml
- name: JMeter Test
uses: QAInsights/PerfAction@v5.6.2
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
```
### Example #3 with arguments to Generate HTML Reports
Please make sure that you create a directory where you want to generate HTML report.
```yaml
- name: Create reports directory
run: mkdir reports
- name: JMeter Test
uses: QAInsights/PerfAction@v5.6.2
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
```
## 📥 Download JMeter Test Results
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.
