Home
Login

基于AI的开源端到端Web应用测试框架,使用视觉AI代理自动化测试流程

Apache-2.0TypeScript 3.0kmagnitudedevmagnitude Last Updated: 2025-06-30

Magnitude - 基于AI的Web应用测试框架

项目概述

Magnitude是一个开源的AI原生测试框架,专为Web应用程序设计。它由视觉AI代理驱动,能够看到您的界面并适应其中的任何变化。

核心特性

🎯 主要功能

  • ✍️ 自然语言测试用例构建 - 使用自然语言轻松构建测试用例
  • 🧠 强大的推理代理 - 智能规划和调整测试流程
  • 👁️ 快速视觉代理 - 可靠地执行测试运行
  • 📄 测试计划保存 - 保存计划以相同方式执行运行
  • 🛠 智能问题处理 - 遇到问题时推理代理会介入处理
  • 🏃♂️ 灵活部署 - 可在本地或CI/CD管道中运行测试

快速开始

1. 安装测试运行器

npm install --save-dev magnitude-test

2. 初始化项目

npx magnitude init

这将创建一个基本的测试目录 tests/magnitude,包含:

  • magnitude.config.ts - Magnitude测试配置文件
  • example.mag.ts - 示例测试文件

3. 配置LLM客户端

Magnitude需要设置两个LLM客户端:

规划器(Planner)

  • 推荐模型:Gemini 2.5 Pro
  • 配置方式
    • 通过Google AI Studio或Vertex AI使用Gemini
    • 在Google AI Studio创建API密钥并导出为 GOOGLE_API_KEY
    • 支持备用提供商:ANTHROPIC_API_KEY / OPENAI_API_KEY

执行器(Executor)

  • 使用模型:Moondream
  • 配置方式
    • 在Moondream注册并创建API密钥
    • 设置环境变量 MOONDREAM_API_KEY
    • 每日提供5,000次免费请求(约数百个测试用例)
    • 完全开源且支持自托管

运行测试

基本运行命令

npx magnitude

这将运行所有使用 *.mag.ts 模式发现的Magnitude测试文件。

并行测试

npx magnitude -w <workers>

测试用例示例

基础语法

import { test } from 'magnitude-test';

test('can add and complete todos', { url: 'https://magnitodo.com' })
  .step('create 3 todos')
  .data('Take out the trash, Buy groceries, Build more test cases with Magnitude')
  .check('should see all 3 todos')
  .step('mark each todo complete')
  .check('says 0 items left')

复杂场景示例

import { test } from 'magnitude-test';

test('can log in and create company')
  .step('Log in to the app')
  .data({ username: 'test-user@magnitude.run', password: 'test' })
  .check('Can see dashboard')
  .step('Create a new company')
  .data('Make up the first 2 values and use defaults for the rest')
  .check('Company added successfully');

核心概念

自然语言描述

  • 步骤(Steps):描述需要执行的操作
  • 检查(Checks):自然语言断言
  • 数据(Data):测试数据,支持任意键值对

设计理念

测试用例的编写就像向同事描述如何测试特定流程一样:

  • 他们需要采取什么步骤
  • 应该检查什么
  • 使用什么测试数据

CI/CD集成

Magnitude测试可以在任何能够运行Playwright测试的CI环境中运行,只需包含LLM客户端凭据。

GitHub Actions支持

项目提供了在GitHub Actions上运行测试用例的详细说明。

技术架构

双模型设计

Magnitude使用分离的规划/执行模型架构:

  • 规划模型:制定有效的测试策略
  • 执行模型:快速可靠地执行测试

与其他方案的区别

相比OpenAI或Anthropic的Computer Use APIs:

  • 更快的速度:专门为测试用例优化
  • 更高的可靠性:专门设计的代理架构
  • 更低的成本:针对测试场景的成本效益优化
  • 原生测试运行器:专门构建的测试设计和运行工具

总结

Magnitude代表了测试自动化领域的重要创新,通过结合AI技术和传统测试框架的优势,为Web应用程序提供了一个强大、灵活且易于使用的测试解决方案。其自然语言测试描述和视觉AI代理的结合,使得测试用例的编写和维护变得前所未有的简单。

Star History Chart