magnitudedev/magnitudePlease refer to the latest official releases for information GitHub Homepage
基於 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代理的結合,使得測試用例的編寫和維護變得前所未有的簡單。