1- # JMeter Copilot Plugin
1+ # Apache JMeter Copilot Chat Plugin
22
33[ ![ Build] ( https://github.com/brunoborges/jmeter-copilot-chat/actions/workflows/build.yml/badge.svg?branch=main )] ( https://github.com/brunoborges/jmeter-copilot-chat/actions/workflows/build.yml )
4+ [ ![ Java 17+] ( https://img.shields.io/badge/Java-17%2B-blue?logo=openjdk&logoColor=white )] ( https://openjdk.org/ )
5+ [ ![ Apache JMeter] ( https://img.shields.io/badge/JMeter-5.6.3%2B-green?logo=apache&logoColor=white )] ( https://jmeter.apache.org/ )
6+ [ ![ License: MIT] ( https://img.shields.io/github/license/brunoborges/jmeter-copilot )] ( https://github.com/brunoborges/jmeter-copilot/blob/main/LICENSE )
47
58An Apache JMeter plugin that provides a GitHub Copilot Chat experience for generating JMeter test plans through natural language conversation.
69
710## Features
811
912- 🤖 ** AI-Powered Test Generation** : Describe your tests in natural language and let Copilot generate the appropriate JMeter elements
13+ - 🛠️ ** Execute Test Cases Directly** : Run tests within JMeter without defining test plans
1014- 💬 ** Chat Interface** : Interactive chat panel integrated directly into JMeter
1115- 🔧 ** Multiple Element Types** : Generate HTTP requests, thread groups, assertions, timers, controllers, and more
1216- 🔄 ** Seamless Integration** : Generated elements are automatically added to your test plan
@@ -16,24 +20,45 @@ An Apache JMeter plugin that provides a GitHub Copilot Chat experience for gener
1620- Java 17 or later
1721- Apache JMeter 5.6.3 or later
1822- GitHub Copilot CLI installed and authenticated
19- - [ Copilot SDK for Java] ( https://github.com/brunoborges/copilot-sdk/tree/main/java ) (version 0.1.0)
2023
2124## Installation
2225
2326### Quick Install (Recommended)
2427
25- Download the latest release and install it to your JMeter installation with a single command (` JMETER_HOME ` should point to your JMeter installation):
28+ Download the latest release and install it to your JMeter installation with a single command.
29+
30+ #### Linux/macOS
31+
32+ Using ` JMETER_HOME ` environment variable:
2633
2734``` bash
2835curl -sL $( curl -s https://api.github.com/repos/brunoborges/jmeter-copilot/releases/latest | grep " browser_download_url.*jar" | cut -d ' "' -f 4) -o $JMETER_HOME /lib/ext/jmeter-copilot-plugin.jar
2936```
3037
31- Or, if you prefer to specify the JMeter path directly:
38+ Or specify the JMeter path directly:
3239
3340``` bash
3441curl -sL $( curl -s https://api.github.com/repos/brunoborges/jmeter-copilot/releases/latest | grep " browser_download_url.*jar" | cut -d ' "' -f 4) -o /path/to/jmeter/lib/ext/jmeter-copilot-plugin.jar
3542```
3643
44+ #### Windows (PowerShell)
45+
46+ Using ` JMETER_HOME ` environment variable:
47+
48+ ``` powershell
49+ $release = Invoke-RestMethod -Uri "https://api.github.com/repos/brunoborges/jmeter-copilot/releases/latest"
50+ $jarUrl = ($release.assets | Where-Object { $_.name -like "*.jar" }).browser_download_url
51+ Invoke-WebRequest -Uri $jarUrl -OutFile "$env:JMETER_HOME\lib\ext\jmeter-copilot-plugin.jar"
52+ ```
53+
54+ Or specify the JMeter path directly:
55+
56+ ``` powershell
57+ $release = Invoke-RestMethod -Uri "https://api.github.com/repos/brunoborges/jmeter-copilot/releases/latest"
58+ $jarUrl = ($release.assets | Where-Object { $_.name -like "*.jar" }).browser_download_url
59+ Invoke-WebRequest -Uri $jarUrl -OutFile "C:\path\to\jmeter\lib\ext\jmeter-copilot-plugin.jar"
60+ ```
61+
3762### Manual Installation
3863
39641 . Download the latest JAR from [ GitHub Releases] ( https://github.com/brunoborges/jmeter-copilot/releases/latest )
@@ -87,38 +112,6 @@ mvn install -Pinstall-to-jmeter -Djmeter.home=/path/to/jmeter
87112- "Add response assertions to verify status code 200"
88113- "Create a cookie manager and header manager for API authentication"
89114
90- ## Supported JMeter Elements
91-
92- | Category | Elements |
93- | ----------| ----------|
94- | Samplers | HTTP Request |
95- | Thread Groups | Thread Group |
96- | Assertions | Response Assertion |
97- | Timers | Constant Timer, Random Timer |
98- | Config Elements | HTTP Header Manager, HTTP Cookie Manager |
99- | Controllers | Loop Controller, If Controller, Transaction Controller |
100- | Listeners | View Results Tree, Summary Report, Aggregate Report |
101-
102- ## Architecture
103-
104- ```
105- jmeter-copilot-plugin/
106- ├── src/main/java/org/apache/jmeter/plugins/copilot/
107- │ ├── CopilotChatVisualizer.java # Main JMeter visualizer/GUI component
108- │ ├── CopilotChatTestElement.java # Test element for storing configuration
109- │ ├── JMeterTestPlanIntegrator.java # Integrates generated tests into JMeter
110- │ ├── gui/
111- │ │ └── CopilotChatPanel.java # Swing chat panel UI
112- │ ├── service/
113- │ │ └── CopilotService.java # Copilot SDK integration
114- │ └── tools/
115- │ └── JMeterTestGeneratorTool.java # Generates JMeter XML elements
116- └── src/main/resources/
117- ├── META-INF/services/ # JMeter plugin service registration
118- └── org/apache/jmeter/plugins/copilot/
119- └── CopilotChatResources.properties
120- ```
121-
122115## Configuration
123116
124117### AI Models
0 commit comments