A JMeter plugin that lets you trigger load tests on Azure Load Testing directly from the JMeter GUI.
- Run menu integration — Adds a "Run on Azure Load Testing" item under the JMeter Run menu
- Azure authentication — Supports Azure CLI, environment variables, managed identity, and interactive browser login via the Azure Identity SDK
- Resource discovery — Lists all Azure Load Testing resources you have access to across subscriptions
- One-click test run — Uploads the currently open JMX file and starts a test run on the selected resource
- Apache JMeter 5.6+ installed
- Java 17+
- An Azure subscription with at least one Azure Load Testing resource
- Azure CLI logged in (
az login), or other Azure credential configured
./gradlew buildThis produces a shadow/fat JAR at:
build/libs/jmeter-azure-load-testing-plugin-1.0.0.jar
The shadow JAR bundles all Azure SDK dependencies so only a single file needs to be deployed.
- Build the plugin (see above)
- Copy the JAR to your JMeter installation's
lib/extdirectory:
cp build/libs/jmeter-azure-load-testing-plugin-1.0.0.jar $JMETER_HOME/lib/ext/- Restart JMeter
- Open a JMX test plan in JMeter (or create a new one and save it)
- Go to Tools → Run on Azure Load Testing
- Authenticate with Azure (a browser window opens if needed)
- Select an Azure Load Testing resource from the list
- Optionally edit the test name
- Click Run Load Test
- Monitor the test run in the Azure Portal
┌─────────────────────────────────────────────────────┐
│ JMeter GUI │
│ ┌───────────────────────────────────────────────┐ │
│ │ Run → "Run on Azure Load Testing" │ │
│ └──────────────────┬────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Azure Auth (DefaultCredential / Browser) │ │
│ └──────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ List Azure Load Testing Resources (ARM API) │ │
│ └──────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Resource Selection Dialog │ │
│ │ ┌────────────────────────────────────────┐ │ │
│ │ │ • my-load-test (rg-1 / eastus) │ │ │
│ │ │ • perf-test (rg-2 / westus2) │ │ │
│ │ └────────────────────────────────────────┘ │ │
│ │ [Run Load Test] [Cancel] │ │
│ └──────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Create Test → Upload JMX → Start Test Run │ │
│ │ (Azure Load Testing Data-Plane API) │ │
│ └──────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
src/main/java/org/apache/jmeter/protocol/azure/
├── gui/
│ ├── action/
│ │ └── AzureLoadTestAction.java # Menu item + Command entry point
│ ├── AzureLoadTestDialog.java # Resource selection dialog
│ └── LoadTestResourceListCellRenderer.java
└── service/
├── AzureAuthService.java # Azure authentication
├── AzureLoadTestingClient.java # ARM + data-plane API client
└── LoadTestResource.java # Resource model
Licensed under the Apache License, Version 2.0.
