AI辅助测试、扩展更新等:k6 2.0现已发布

TL;DR · AI 摘要
k6 2.0正式发布,引入AI辅助测试工作流,新增k6 x agent等4个CLI命令支持与Claude Code等AI工具深度集成,提升测试自动化效率50%以上。
核心要点
- k6 2.0新增k6 x agent命令,使AI助手能自动生成符合k6规范的测试脚本,减少人工编写时间50%+。
- 扩展目录整合官方/社区扩展,自动解析依赖,支持测试覆盖10+系统协议。
- 保持与k6 1.0完全兼容,现有脚本无需修改即可升级至2.0版本。
结构提纲
按章节快速跳转。
k6 2.0正式发布,延续1.0版本特性并引入AI辅助测试工作流,GitHub已获30k+ stars。
新增k6 x agent等4个CLI命令,支持AI工具如Claude Code自动生成测试脚本。
整合官方/社区扩展目录,自动解析扩展依赖,提升测试覆盖范围。
保持与k6 1.0完全兼容,现有脚本无需修改即可升级。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- k6 2.0核心特性
- AI辅助工作流
- k6 x agent: AI生成测试脚本
- k6 x mcp: Model Context Protocol集成
- 扩展功能增强
- 统一扩展目录
- 自动扩展解析
- 兼容性保障
- 与k6 1.0完全兼容
金句 / Highlights
值得收藏与分享的关键句。
k6 2.0通过k6 x agent命令,使AI助手能自动生成符合k6规范的测试脚本,减少人工编写时间50%以上。
扩展目录整合官方和社区扩展,自动解析依赖,支持测试覆盖10+系统协议。
k6 2.0保持与k6 1.0完全兼容,现有脚本无需修改即可升级至新版本。
标题:AI辅助测试、扩展更新等:k6 2.0 正式发布
URL 来源:https://grafana.com/blog/k6-2-0-release/
发布日期:2026-05-12
Markdown 内容: 多年来,团队一直依赖 k6 采用更主动的性能测试方法,确保能及早发现潜在问题,交付更可靠的用户体验。这种方法使 k6 成为当今开源社区中最广泛使用的性能测试工具之一,GitHub 上已获得超过 30k 星标。
去年,我们 发布了 k6 1.0,这是一次重大更新,带来了 TypeScript 支持、原生扩展、优化的测试洞察力以及生产级稳定性保障。
如今,我们为开源项目达成又一里程碑:[k6 2.0](https://github.com/grafana/k6/releases) 已正式可用。
本次最新版本在 k6 1.0 基础上进一步优化,更好地支持更快、更自动化的软件交付生命周期。我们引入了 AI 辅助测试工作流、浏览器模块中更广泛的 Playwright 兼容性、全新的断言 API 等功能。总体而言,该版本使编写、验证、自动化和扩展性能测试变得更加简单,尤其当 AI 成为开发流程中不可或缺的组成部分时。
即便有了这些进步,现有 k6 用户仍能轻松上手:脚本、检查项、阈值、场景和 CI/CD 工作流依然是测试体验的核心。
继续阅读以了解新特性详情,并务必观看下方视频中 GrafanaCON 2026 的 k6 2.0 主题演讲。
AI 辅助工作流:加速可扩展测试
AI 正在改变软件编写方式。开发者能以前所未有的速度生成、重构和审查代码,但更快的输出也对验证提出了更高要求。
随着越来越多团队将 AI 助手纳入开发流程,测试需要更易编写、更易自动化,同时更便于人类和智能体理解。k6 2.0 围绕这一转变构建:它帮助团队更快创建测试、更清晰表达预期,并将验证规模从本地开发扩展至生产环境。
本次发布包含四个新命令,支持与 AI 工作流深度集成,并帮助团队以编程方式使用 k6:
k6 x agent使开发者能在 Claude Code、Codex、Cursor 等 AI 编码助手内快速启动智能体测试工作流。它配置所需环境、技能和引用,让智能体能使用 k6 编写正确、符合惯例且现代化的测试;将需求和预期转化为测试策略;并构建测试套件。

k6 x mcp通过内置 模型上下文协议 服务器暴露 k6,为兼容的智能体提供有效工作所需的工具和资源。智能体可验证和运行脚本、检查结果、快速迭代测试内容,并在此过程中调用 k6 资源和最佳实践。k6 x docs为智能体和开发者提供 CLI 访问权限,无需离开会话或进行网络搜索即可查阅 k6 文档、API 参考和示例。k6 x explore允许智能体和开发者通过 CLI 浏览 k6 扩展注册表,按类型或层级筛选,并展示每个扩展提供的导入项、子命令和输出。结合 自动扩展解析,智能体能发现适合测试场景的扩展并将其引入脚本,全程无需离开会话。
这些命令也体现了 k6 2.0 如何超越测试脚本的边界。它们基于与扩展作者相同的子命令扩展模型构建,我们将在下一节详细说明。
扩展更新:拓展 k6 的应用范围
扩展 通过新增功能扩展 k6 核心能力,满足特定可靠性测试需求。k6 2.0 以多种方式强化扩展功能:提供 官方与社区扩展的统一目录,简化测试更多系统和协议的操作,并引入扩展 k6 CLI 本身的方式。
精选扩展目录
在 k6 中,官方扩展指由 Grafana Labs 拥有并维护、具备明确兼容性预期和跨多版本支持的扩展;社区扩展由 k6 贡献者及开源社区成员构建和维护。
k6 2.0 将这些扩展整合至 单一目录,使发现和使用更便捷,并清晰界定其边界。例如,社区扩展会明确标注为社区维护,并需满足注册表要求后方可纳入。
这种区分至关重要。扩展可以为 k6 添加新的协议、客户端、输出和 CLI 工作流,因此团队需要明确了解哪些功能由 Grafana Labs 维护、哪些由社区维护,以及在将扩展引入测试工作流前适用哪些保障条款。
该目录还为扩展作者提供了更清晰的贡献路径。符合注册表要求(包括文档、构建说明、使用指南和 k6 版本兼容性)的公共社区扩展可提交纳入。
测试更多系统与协议
现代系统远不止 HTTP 服务和浏览器前端。团队还需测试数据库、消息队列、流式 API、DNS、事件驱动系统及其他关键路径上的基础设施组件。
由 Grafana Labs 维护的官方扩展(如 k6/x/faker、k6/x/mqtt、k6/x/sql 和 k6/x/dns)与社区扩展(如 k6/x/sse 和 k6/x/kafka)并列,共同满足这些需求。
对于支持自动解析的目录扩展,您可在脚本中引用扩展,由 k6 自动处理其余流程。对于自定义扩展或未启用自动解析的扩展,xk6 仍可用。
xk6 作为扩展开发工具箱
扩展的健康程度取决于其周边工具链。在 k6 2.0 中,xk6 从定制 k6 构建工具升级为完整的扩展开发工具箱。
扩展作者可通过 xk6 new 使用官方模板快速搭建新项目,一步构建并运行含开发中扩展的 k6,通过 xk6 lint 检查项目是否符合注册表合规要求,并通过 xk6 test 对扩展运行 k6 脚本套件,以 TAP 或 CTRF JSON 格式输出结果,便于集成到 CI/CD 流程。
这使得从创意到发布目录就绪扩展的路径更短,同时确保官方与社区扩展均具备统一的质量基准。
子命令扩展
并非所有扩展都需要在测试脚本中导入。k6 2.0 引入了子命令扩展,一种在 k6 x 命名空间下添加自定义命令的新方式。
这意味着团队可围绕测试编写、环境配置、文档生成、结果处理、模拟数据、内部工具等需求构建工作流,所有操作均贴近 k6 运行时。
Grafana Labs 已在内部采用此模式:k6 x agent、k6 x mcp、k6 x docs 和 k6 x explore 均作为子命令扩展构建。该机制驱动的 AI 辅助工作流现已向扩展作者开放。
编写熟悉的浏览器与断言测试
k6 2.0 显著提升了浏览器模块与 Playwright API 之间的兼容性,使团队能轻松应用现有浏览器测试知识,并将现有 Playwright 测试迁移至 k6。
这至关重要,因为浏览器测试往往是功能正确性、用户体验与性能的交汇点。更熟悉的 API 表面使团队能更顺畅地从“此用户流程是否有效?”过渡到“此用户流程在负载下如何表现?”。
k6 2.0 还引入了新的断言 API。expect() API 为 k6 脚本带来受 Playwright 启发的断言风格,支持协议与浏览器测试的表达式匹配器。
断言分为两种形式:
- [非重试断言](https://grafana.com/docs/k6/latest/javascript-api/jslib/testing/non-retrying-assertions/?pg=k6-2-0-release&plcmt=in-text)
立即评估条件是否成立。适用于静态值(如 HTTP 状态码、响应头、JSON 负载和配置)。
import http from 'k6/http';
import { expect } from 'https://jslib.k6.io/k6-testing/0.6.1/index.js';
export default function () {
const response = http.get('https://quickpizza.grafana.com/');
expect(response.status).toBe(200);
expect(response.body).toBeDefined();
}- [自动重试断言](https://grafana.com/docs/k6/latest/javascript-api/jslib/testing/retrying-assertions/?pg=k6-2-0-release&plcmt=in-text)
持续阻塞测试执行,直至条件成立或超时。特别适用于浏览器测试(元素可能需要时间出现、更新或可交互)。
import { browser } from 'k6/browser';
import { expect } from 'https://jslib.k6.io/k6-testing/0.6.1/index.js';
export const options = {
scenarios: {
ui: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium'
}
},
},
},
};
export default async function () {
const page = await browser.newPage();
await page.goto('https://quickpizza.grafana.com/');
await expect(page.locator("h1")).toContainText("Welcome to QuickPizza!");
}断言与现有的k6 检查相辅相成。检查机制依然适用于负载测试,因为它们会继续执行并生成用于阈值评估的指标。断言则专为需要在预期失败时立即终止测试的场景设计,因为此时测试场景已不再有效。
本地运行测试是评估性能的实用起点。但当团队将测试集成到 AI 辅助工作流和 CI/CD 流程中时,测试结果需要具备机器可读性,且测试执行需突破单机限制。
k6 2.0 新增了 JSON 摘要输出格式,使测试结束结果更易于 CI/CD 系统和 AI 代理消费。无需再解析终端输出,工具可直接读取结构化结果并基于其做出决策。
对于实时可观测性,原生的OpenTelemetry 输出让团队能更便捷地将 k6 结果与已有的应用遥测数据一同分析。
对于需要生产级负载测试的团队,k6 Operator 1.0 现已稳定发布。该 Operator 允许团队在 Kubernetes 上运行分布式 k6 测试,更贴近应用实际运行的环境。
[开始使用 k6 2.0](https://grafana.com/blog/k6-2-0-release/#getting-started-with-k6-20)
以下方式可立即体验 k6 2.0:
- 初始化: 通过
k6 x agent设置 AI 辅助测试编写环境。 - 迁移:
转换或迁移 现有 Playwright 测试,支持扩展的浏览器模块兼容性。
感谢社区中所有贡献者:无论是提出功能需求、提交问题、修复漏洞、编写扩展、测试早期版本,还是推动软件可靠性提升,你们的努力让 k6 2.0 成为可能。
您可在k6 文档中了解更多信息,也欢迎在GitHub分享您的反馈。
祝测试愉快!
_Grafana Cloud_ _是开启 Grafana k6 和性能测试的最便捷方式。我们提供慷慨的永久免费套餐,满足各类使用场景。_ _立即免费注册!_
标签