Skip to content
Agentmart
Submit a tool

jmeter-load-testing

Load and performance testing with Apache JMeter.

Skill by MathiasPaulenko

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mathiaspaulenko-jmeter-load-testing

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Load and performance testing with Apache JMeter. Covers test plan design, thread groups, samplers, assertions, listeners, distributed testing, and CI/CD integration.

Use cases: design, testing, devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/jmeter-load-testing

What's inside

Skill name
jmeter-load-testing
Description
Load and performance testing with Apache JMeter. Covers test plan design, thread groups, samplers, assertions, listeners, distributed testing, and CI/CD integration.
License
MIT
Instructions
244 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# JMeter Load Testing

## 1. Test Plan Structure

```
Test Plan
├── Thread Group
│   ├── HTTP Request Defaults
│   ├── HTTP Cookie Manager
│   ├── HTTP Header Manager
│   ├── CSV Data Set Config
│   ├── HTTP Request (Login)
│   ├── HTTP Request (Get Data)
│   └── HTTP Request (Submit)
├── View Results Tree (Debug)
├── Summary Report
└── Response Assertions
```

## 2. Thread Group Configuration

| Property | Description | Example |
|----------|-------------|---------|
| Number of Threads | Virtual users | 100 |
| Ramp-up Period | Seconds to start all threads | 60 (1 user/sec) |
| Loop Count | Iterations per thread | 10 |
| Duration | Total test duration (seconds) | 300 |
| Startup Delay | Delay before starting (seconds) | 0 |

## 3. HTTP Sampler

```xml
<!-- HTTP Request Sampler -->
<HTTPSamplerProxy>
  <stringProp name="HTTPSampler.domain">api.example.com</stringProp>
  <stringProp name="HTTPSampler.port">443</stringProp>
  <stringProp name="HTTPSampler.protocol">https</stringProp>
  <stringProp name="HTTPSampler.path">/api/v1/users</stringProp>
  <stringProp name="HTTPSampler.method">GET</stringProp>
  <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
    <collectionProp name="Arguments.arguments">
      <elementProp name="limit" elementType="HTTPArgument">
        <boolProp name="HTTPArgument.always_encode">false</boolProp>
        <stringProp name="Argument.value">50</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
        <boolProp name="HTTPArgument.use_equals">true</boolProp>
        <stringProp name="Argument.name">limit</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
</HTTPSamplerProxy>
```

## 4. CSV Data Set Config

```csv
# users.csv
username,password
alice,pass123
bob,pass456
charlie,pass789
```

```xml
<CSVDataSet>
  <stringProp name="filename">users.csv</stringProp>
  <stringProp name="variableNames">username,password</stringProp>
  <boolProp name="recycle">true</boolProp>
  <boolProp name="stopThread">false</boolProp>
  <stringProp name="sharingMode">All threads</stringProp>
</CSVDataSet>
```

## 5. Assertions

```xml
<!-- Response Assertion -->
<ResponseAssertion>
  <collectionProp name="testStrings">
    <stringProp name="">200</stringProp>
  </collectionProp>
  <stringProp name="custom_message">Expected 200 OK</stringProp>
  <intProp name="testType">16</intProp>  <!-- Contains -->
</ResponseAssertion>

<!-- JSON Assertion -->
<JSONPathAssertion>
  <stringProp name="JSON_PATH">$.status</stringProp>
  <stringProp name="EXPECTED_VALUE">success</stringProp>
  <boolProp name="JSONVALIDATION">true</boolProp>
</JSONPathAssertion>
```

## 6. Extractors (Correlation)

```xml
<!-- JSON Extractor for auth token -->
<JSONPostProcessor>
  <stringProp name="JSONPostProcessor.referenceNames">authToken</stringProp>
  <stringProp name="JSONPostProcessor.jsonPathExprs">$.token</stringProp>
  <stringProp name="JSONPostProcessor.match_numbers">1</stringProp>
</JSONPostProcessor>

<!-- Use extracted token in subsequent request -->
<HeaderManager>
  <collectionProp name="HeaderManager.headers">
    <elementProp name="Authorization" elementType="Header">
      <stringProp name="Header.name">Authorization</stringProp>
      <stringProp name="Header.value">Bearer ${authToken}</stringProp>
    </elementProp>
  </collectionProp>
</HeaderManager>
```

## 7. Listeners and Reporting

| Listener | Purpose |
|----------|---------|
| View Results Tree | Debug individual requests |

From MathiasPaulenko/ai-toolkit, MIT.

More from MathiasPaulenko/ai-toolkit

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 23, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MathiasPaulenko

Cite this page

jmeter-load-testing skill. Agent Mart. https://agentmart.dev/skills/mathiaspaulenko-jmeter-load-testing (last updated 2026-10-24)