Skip to content

brunoborges/jmeter-copilot-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

40 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Apache JMeter Copilot Chat Plugin

Build Java 17+ Apache JMeter License: Apache

Features

  • ๐Ÿค– AI-Powered Test Generation: Describe your tests in natural language and let Copilot generate the appropriate JMeter elements
  • ๐Ÿ› ๏ธ Execute Test Cases Directly: Run tests within JMeter without defining test plans
  • ๐Ÿ’ฌ Chat Interface: Interactive chat panel integrated directly into JMeter
  • ๐Ÿ”ง Multiple Element Types: Generate HTTP requests, thread groups, assertions, timers, controllers, and more
  • ๐Ÿ”„ Seamless Integration: Generated elements are automatically added to your test plan

Screenshot

Generating a test plan and loading into JMeter

๐Ÿ“ธ See more screenshots in the screenshots folder.

Requirements

  • Java 17 or later
  • Apache JMeter 5.6.3 or later
  • GitHub Copilot CLI installed and authenticated

Installation

Quick Install (Recommended)

Download the latest release and install it to your JMeter installation with a single command.

Linux/macOS

Using JMETER_HOME environment variable:

curl -sL $(curl -s https://api.github.com/repos/brunoborges/jmeter-copilot-plugin/releases/latest | grep "browser_download_url.*jar" | cut -d '"' -f 4) -o $JMETER_HOME/lib/ext/jmeter-copilot-plugin.jar

Or save to current directory:

curl -sL $(curl -s https://api.github.com/repos/brunoborges/jmeter-copilot-plugin/releases/latest | grep "browser_download_url.*jar" | cut -d '"' -f 4) -o jmeter-copilot-plugin.jar

Windows (PowerShell)

Using JMETER_HOME environment variable:

$release = Invoke-RestMethod -Uri "https://api.github.com/repos/brunoborges/jmeter-copilot-plugin/releases/latest"
$jarUrl = ($release.assets | Where-Object { $_.name -like "*.jar" }).browser_download_url
Invoke-WebRequest -Uri $jarUrl -OutFile "$env:JMETER_HOME\lib\ext\jmeter-copilot-plugin.jar"

Or specify the JMeter path directly:

$release = Invoke-RestMethod -Uri "https://api.github.com/repos/brunoborges/jmeter-copilot-plugin/releases/latest"
$jarUrl = ($release.assets | Where-Object { $_.name -like "*.jar" }).browser_download_url
Invoke-WebRequest -Uri $jarUrl -OutFile "C:\path\to\jmeter\lib\ext\jmeter-copilot-plugin.jar"

Manual Installation

  1. Download the latest JAR from GitHub Releases
  2. Copy the JAR file to your JMeter lib/ext directory
  3. Restart JMeter

Building from Source

Build the plugin:

mvn clean verify

Installing to JMeter

Copy the shaded JAR to JMeter's lib/ext directory:

cp target/jmeter-copilot-plugin-1.0.0-SNAPSHOT.jar $JMETER_HOME/lib/ext/

Or use the Maven profile (requires setting jmeter.home property):

mvn install -Pinstall-to-jmeter -Djmeter.home=/path/to/jmeter

Usage

  1. Start JMeter
  2. Click on the menu Tools โ†’ Copilot Chat to open it
  3. Describe the test you want to create in the chat input
  4. Copilot will generate the appropriate JMeter test plan

Example Prompts

  • "Create an HTTP GET request to https://api.example.com/users"
  • "Add a Thread Group with 10 users and 5 iterations"
  • "Create a load test for a REST API with POST requests to /api/login"
  • "Add response assertions to verify status code 200"
  • "Create a cookie manager and header manager for API authentication"

Configuration

AI Models

The plugin supports multiple AI models through the Copilot SDK:

  • claude-sonnet-4 (default)
  • gpt-4.1
  • claude-4-opus
  • gpt-4.1-mini

Select your preferred model from the dropdown in the chat panel.

Development

Running Tests

mvn test

Code Style

The project uses standard Java code style. Format code before committing:

mvn spotless:apply

Troubleshooting

Copilot CLI Not Found

Ensure the GitHub Copilot CLI is installed and in your PATH:

copilot --version

Connection Issues

The plugin requires an active internet connection and valid GitHub Copilot authentication. Run copilot auth login if you encounter authentication issues.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting pull requests.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages