使用 k6 编写高性能 API 与浏览器压测脚本
解决系统性能验证痛点:通过 AI 辅助编写 JavaScript 测试脚本,快速构建从简单的冒烟测试到复杂的压力测试、稳定性测试方案,并量化 SLA 达标情况。
为什么需要这个技能
传统的压测工具配置复杂,且与开发流程脱节。k6 采用开发者友好的 JavaScript 编写脚本,能够将性能测试直接纳入版本管理。
通过该技能,你可以不再依赖复杂的 UI 配置,而是通过代码定义虚拟用户(VUs)、定义性能阈值(Thresholds)并模拟真实用户行为。这使得识别性能瓶颈、验证 SLA(服务等级协议)以及在代码上线前捕捉性能退化变得高效且可自动化。
适用场景
- API 性能验证:测试 HTTP API 或 WebSocket 接口在高并发下的响应时间和错误率。
- 浏览器端压测:模拟真实用户在浏览器中的点击、跳转等交互路径。
- 回归测试:将压测集成到 GitHub Actions 或 GitLab CI 中,确保每次提交不影响性能。
- 极限压力测试:通过阶梯式增加负载,寻找系统的崩溃临界点。
- 稳定性测试(Soak Test):在持续负载下运行长时间测试,检查是否存在内存泄漏。
核心工作流
- 环境搭建:安装 k6 运行时,如果是浏览器测试需安装 Chromium 驱动(
k6 install chromium)。 - 定义测试场景:
- VUs 设定:配置并发用户数。
- Stages 阶段:设计加载曲线(如:30s 启动
1m 峰值 30s 退出)。 - Thresholds 阈值:设定判定标准(如:95% 的请求必须在 500ms 内完成)。
- 编写执行逻辑:使用
http模块发送请求,利用check验证响应结果,通过SharedArray加载 CSV/JSON 测试数据。 - 分析与迭代:运行脚本
查看 P95/P99 指标 调整代码优化 重新验证。
快速开始示例
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10,
duration: '30s',
thresholds: {
http_req_duration: ['p(95)<500'], // 95% 的请求需 < 500ms
},
};
export default function () {
const res = http.get('https://api.example.com/users');
check(res, { 'status is 200': (r) => r.status === 200 });
sleep(1);
}
运行命令:k6 run script.js
下载和安装
下载 k6-load-testing 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐