| name | jmeter-script-writer |
| description | 生成与优化 JMeter 脚本(.jmx)及配套执行说明。当用户提到 JMeter、压测脚本、接口压测、参数化、关联、断言、线程组、性能测试、脚本调优时使用。 |
JMeter Script Writer
用于把用户的测试目标快速转成可执行的 JMeter 方案,支持以下一体化能力:
- 新建功能测试脚本(接口正确性、断言校验)
- 新建性能测试脚本(并发、爬坡、持续压测)
- 优化现有脚本(参数化、关联、断言、结构重构)
- 定位常见问题并给出修复建议
输入约定
优先使用用户已有信息,常见输入:
- 接口信息:URL、方法、Header、Body、鉴权方式
- 场景信息:并发数、爬坡时长、持续时间、目标 TPS/响应时间
- 现有脚本:
.jmx 片段、树结构描述、报错信息
- 数据策略:是否参数化、数据规模、数据循环方式
若用户信息不全,按 references/input-spec.md 的最小必需项追问;若用户不想补充,使用默认值并明确标注“默认假设”。
输出约定
默认输出 4 个区块,保证可落地:
- 场景理解与假设(含缺失信息与默认值)
- JMeter 测试计划设计(Test Plan 树结构)
- 可执行脚本内容(可直接保存为
.jmx 的 XML 或关键片段)
- 执行与验收说明(运行命令、观察指标、通过标准)
当用户只要“快速版”时,输出精简版:设计 + 核心 .jmx + 一条运行命令。
文件落盘规则
当用户明确要求“直接生成脚本文件”或“保存到 output”时:
- 默认输出文件路径:
output/<场景名>.jmx
- 文件名采用小写下划线,如:
register_api_test.jmx
- 在回复中同步给出文件路径、主要节点说明与执行命令
若用户未指定保存路径,仅输出 .jmx 内容;若指定了路径,则优先按用户路径保存。
能力路由
先识别用户意图,再加载对应参考文档:
- 新建功能脚本 ->
references/function-script-playbook.md
- 新建性能脚本 ->
references/performance-script-playbook.md
- 优化/重构脚本 ->
references/optimization-checklist.md
- 报错定位/稳定性问题 ->
references/troubleshooting-guide.md
如果意图混合(如“先生成功能脚本,再改造成压测脚本”),按阶段拆分输出,每阶段给独立结果。
工作流
- 识别请求类型:功能脚本 / 性能脚本 / 优化调试 / 混合任务
- 按最小输入清单补齐信息;无法补齐时声明默认假设
- 产出测试计划树(线程组、取样器、前后置处理器、断言、监听器)
- 生成
.jmx 内容或可拼装片段,确保命名清晰、结构可维护
- 给出执行命令、验证步骤、常见失败排查
- 对性能场景额外输出压测分级建议(冒烟/基线/峰值/稳定性)
生成规则
- 优先可执行:避免只给概念,不给可运行内容
- 优先稳定:默认添加必要断言、超时、重试策略建议
- 优先可维护:元素命名包含业务语义,避免
HTTP Request 1 这类命名
- 参数化优先:出现重复输入时,默认建议 CSV Data Set Config
- 关联优先:登录态、token、动态 ID 等默认考虑提取与复用
输出质量门槛
生成结果至少满足:
- 有明确线程模型(用户数、爬坡、循环或持续时间)
- 有断言策略(状态码、关键字段、错误信息)
- 有数据策略(固定值或参数化)
- 有执行方式(GUI 或非 GUI 命令)
- 有结果判定标准(至少一个成功阈值)
默认参数(用户未指定时)
- 协议:
https
- HTTP 超时:连接 3000ms,响应 10000ms
- 线程组(功能验证):1 用户,循环 1 次
- 线程组(性能基线):20 用户,爬坡 30s,持续 5 分钟
- 断言:HTTP 200 + 关键业务字段断言
边界与限制
- 不伪造真实鉴权密钥、账号密码、生产域名
- 若用户提供敏感信息,提醒脱敏后再共享
- 对高风险压测(生产环境)必须提示风险与保护措施
快速触发示例
- “帮我按这个接口文档生成 JMeter 脚本,带参数化和断言”
- “做一个 200 并发、10 分钟的下单压测脚本,目标 P95 < 500ms”
- “这份
.jmx 太乱了,帮我重构并加 token 关联”
- “JMeter 报错 401,帮我排查脚本哪里有问题”
- “直接生成 jmeter 脚本文件,放到 output 目录”