Magnitude – AI 驱动的端到端测试框架

Magnitude 是一个开源的端到端测试框架,专为现代 Web 应用而设计,其核心在于利用视觉 AI 代理取代传统的易碎 DOM 选择器,通过视觉理解和自然语言意图来编写测试,使测试更具弹性,能够适应 UI 的变化,大大降低了因 UI 代码微小改动而导致测试失败的风险。

以下是关于 Magnitude 的详细介绍:

核心功能

  • 自然语言测试编写 :测试人员可使用自然语言描述测试步骤,如 “用户点击登录按钮”,Magnitude 能理解并执行,降低了测试编写的门槛,即使非程序员或对编码不熟悉的 QA 专业人士也能参与编写测试用例。
  • 智能推理与视觉执行 :推理代理可理解测试意图、规划测试步骤、处理复杂推理,并根据应用界面的动态变化动态调整测试计划;执行代理则像人类用户一样,通过 “看” 页面来进行精准的 UI 操作,确保测试准确执行。
  • 测试计划缓存与调整 :经过大型模型生成的测试计划可以被保存,后续仅使用执行模型进行测试,提高了重复运行的速度和一致性,并降低了成本。当界面发生变化导致执行路径需要调整时,系统可以动态切换回大型模型进行处理。
  • 灵活的执行方式 :支持本地执行和 CI/CD 流水线集成,可安装在 Node.js 项目中作为开发依赖,也可使用托管服务,还能根据自身需求选择自托管模式,与现有流程无缝集成。
  • 强大的测试管理功能 :提供可视化的测试结果查看、分步调试、截图查看以及测试历史记录等功能,便于测试人员更好地了解测试执行情况,定位问题所在。

技术原理

Magnitude 的核心是一个两层代理架构,包括推理代理(Macro Agent)和视觉推理代理(Micro Agent)。推理代理基于大型语言模型(LLM),如 Gemini 2.5 Pro、Claude、GPT-4o 等,其作用是处理高级别的规划和协调,负责理解用户的测试意图、生成测试计划以及在必要时进行推理和调整。视觉推理代理则通过与推理代理的交互,将自然语言指令映射到具体的测试操作,并负责在用户界面中执行这些操作和断言,它利用 Moondream 等视觉模型,快速、可靠地识别和操作页面元素,通过视觉理解来适应界面的变化。

Magnitude 还使用了 BAML(用于 LLM 调用的轻量级声明式查询语言)和 Playwright(现代浏览器自动化工具)的组合,通过 BAML 的简单性避免了手动调用 LLM 的复杂性和陷阱,同时 Playwright 为测试执行提供了强大的自动化能力。

支持平台

Magnitude 支持多种平台,包括 Linux、MacOS 和 Windows,可方便地在不同的操作系统上进行测试工作。它还支持本地执行以及与 CI/CD 流水线的集成,并提供了托管服务,包括托管的浏览器基础设施和 LLM 基础设施,用户可选择适合自己的方式进行测试管理。

团队介绍

Magnitude 的开发团队由一群经验丰富的工程师和开发者组成,他们致力于为现代 Web 应用提供更好的测试解决方案,以解决传统端到端测试中因 UI 变化而导致的频繁失败和高昂维护成本等问题。团队成员在 AI 技术、测试工具开发以及 Web 应用领域拥有深厚的专业知识和丰富的实践经验,能够不断提升 Magnitude 的性能和功能,满足用户的需求。

项目资源

业务场景

  • Web 应用的端到端测试 :Magnitude 可以全面验证 Web 应用的用户流程,自动适应界面的变化,确保应用在不同版本和环境下的稳定性和功能性。
  • 自动化测试与 CI/CD 集成 :在开发过程中,Magnitude 的测试可以轻松集成到 CI/CD 流水线中,如 GitHub Actions,确保代码提交后应用的稳定性和可靠性,及时发现潜在问题,减少手动测试的工作量和时间成本。
  • 生产环境监控 :Magnitude 可用于实时监控应用的状态,及时发现并报告生产环境中的问题,帮助开发团队快速响应和解决问题,提高应用的可用性和用户体验。
  • 团队协作与管理 :通过 Magnitude 的控制台,团队成员可以方便地管理测试用例、查看测试结果和历史记录,实现高效的协作和测试流程的规范化管理,提高团队的开发效率和代码质量。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注