Skip to content

GitHub Action to run performance tests using Apache JMeter and its plugins.

License

Notifications You must be signed in to change notification settings

QAInsights/PerfAction

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

🚀 PerfAction

saythanks

This GitHub Action helps to automate performance testing using Apache JMeter and its plugins.

PerfAction also featured in LoadTestWorld 2021 conference.

PerfAction for JMeter

🤔 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
  • test-results
    • 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

- 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

Example #2 with arguments

- 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

Example #3 with arguments to Generate HTML Reports

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

📥 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.

Download-JMeter-Results