创建 k6 扩展
如果在您的测试过程中发现现有 k6 扩展无法解决的问题,可以考虑构建自己的扩展。
这些教程将向您展示如何创建自定义的 JavaScript 和输出扩展。
- 创建 JavaScript 扩展以扩展脚本的 JavaScript 功能或添加对新的网络协议的支持以进行测试。
- 创建输出扩展以处理 k6 发出的指标或将其发布到不受支持的后端存储。
所需知识
任何能够使用命令行编辑文件和安装软件的人都应该能够按照步骤进行。但是,如果您想创建扩展以实现演示以外的目的,您应该具备一些背景知识:
- 您应该熟悉 Go(lang)、JavaScript 及其工具链
- 您应该理解 k6 中Go-to-JavaScript 桥接的工作原理
避免不必要的工作
这些操作可以帮助您避免在不必要的情况下构建全新的扩展。
- 确认您的用例是否已存在类似的扩展。查看扩展列表和 GitHub 上的
xk6
主题。 - 倾向于编写纯 JavaScript 库,而不是用 Go 构建扩展。JavaScript 库将比扩展具有更好的支持、更直接且可重用性更高。例如,如果您可以使用通用协议(如 MQTT)测试系统,则优先使用 xk6-mqtt,而不是为某种自定义协议创建新扩展。
- 倾向于编写纯 JavaScript 库,而不是用 Go 构建扩展。JavaScript 库将比扩展具有更好的支持、更直接且可重用性更高。