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