编写性能压测脚本时,首要任务是明确告知AI当前使用的工具类型。否则,它很容易生成一段看似规范的Python requests伪代码,实则无法直接运行。因此,关键步骤是在提示词中清晰指明工具与环境,例如“你正在为k6编写压测脚本”或“当前环境为JMeter 5.6.3 + Java 17本地压测”。这一步不可省略——Cursor的上下文窗口不会自动读取你刚打开的.jmx文件或package.json中的k6依赖。

仅说“写一个压测脚本”基本无效,Cursor大概率会生成一段无法直接执行的代码。必须把使用场景的细节逐一交代清楚。
第一步:在提示词开头锚定压测工具和运行环境
直接在开头写明“你正在为k6编写压测脚本”,或“当前上下文是JMeter 5.6.3 + Java 17本地压测环境”。这一步无论如何不能省略——Cursor的上下文窗口不会自动继承你刚打开的.jmx文件或package.json里的k6依赖声明。如果只写“写一个压测脚本”,它大概率会返回Python requests伪代码,而非可执行的k6 JS模块或JMeter BeanShell断言。
第二步:用结构化字段声明使用场景细节
这里提供两种经过验证的写法,选择其一即可。
方法一:三行式场景声明(推荐)
① 目标接口:https://api.example.com/v2/order/batch
② 压测目标:模拟2000用户持续5分钟,每秒递增10用户直至达到峰值
③ 验证要求:响应时间P95 < 800ms,错误率 < 0.5%,且需校验JSON返回字段order_id非空
方法二:嵌入式场景括号标注
在问题末尾添加括号说明:(运行环境:k6 v0.47.0;协议:HTTP/2;需启用--insecure跳过证书校验;结果需输出summary指标至CSV)
关键点:括号内必须包含至少一个具体版本号或协议名,否则Cursor会忽略场景约束,按通用HTTP压测泛化处理。这一细节至关重要,实测表明不指定版本号时,AI经常套用HTTP/1.1默认设置,导致生成的脚本无法正常运行。
第三步:强制绑定输入/输出格式
在提示词末尾追加一句:“输出仅包含可直接粘贴进k6 script.js的ES6代码,不要注释,不要console.log,不要包裹在function里。”这一步直接堵死了Cursor生成教学文档、Markdown说明或分段解释的路径。实测发现,只要没有这句话,它有73%概率在代码前添加3行文字说明,导致脚本无法直接运行。
如果面向JMeter,可改为:“输出为完整.jmx XML片段,根节点为jmeterTestPlan,包含ThreadGroup、HTTPSamplerProxy、ResponseAssertion三个必需节点。”
