Ein KI-basiertes Open-Source-End-to-End-Webanwendungstest-Framework, das den Testprozess mithilfe von visuellen KI-Agenten automatisiert.
Magnitude - KI-basiertes Testframework für Webanwendungen
Projektübersicht
Magnitude ist ein Open-Source-Testframework, das nativ auf KI basiert und speziell für Webanwendungen entwickelt wurde. Es wird von visuellen KI-Agenten angetrieben, die Ihre Benutzeroberfläche sehen und sich an alle Änderungen darin anpassen können.
Kernfunktionen
🎯 Hauptfunktionen
- ✍️ Erstellung von Testfällen in natürlicher Sprache - Einfache Erstellung von Testfällen in natürlicher Sprache
- 🧠 Leistungsstarker Inferenz-Agent - Intelligente Planung und Anpassung von Testabläufen
- 👁️ Schneller visueller Agent - Zuverlässige Ausführung von Testläufen
- 📄 Speichern von Testplänen - Speichern von Plänen zur Ausführung von Läufen auf die gleiche Weise
- 🛠 Intelligente Problembehandlung - Der Inferenz-Agent greift bei Problemen ein
- 🏃♂️ Flexible Bereitstellung - Ausführung von Tests lokal oder in CI/CD-Pipelines
Schnellstart
1. Installation des Test-Runners
npm install --save-dev magnitude-test
2. Initialisierung des Projekts
npx magnitude init
Dadurch wird ein grundlegendes Testverzeichnis tests/magnitude
erstellt, das Folgendes enthält:
magnitude.config.ts
- Magnitude-Testkonfigurationsdateiexample.mag.ts
- Beispiel-Testdatei
3. Konfiguration des LLM-Clients
Magnitude erfordert die Einrichtung von zwei LLM-Clients:
Planer (Planner)
- Empfohlenes Modell: Gemini 2.5 Pro
- Konfigurationsweise:
- Verwendung von Gemini über Google AI Studio oder Vertex AI
- Erstellung eines API-Schlüssels in Google AI Studio und Export als
GOOGLE_API_KEY
- Unterstützung alternativer Anbieter:
ANTHROPIC_API_KEY
/OPENAI_API_KEY
Ausführer (Executor)
- Verwendetes Modell: Moondream
- Konfigurationsweise:
- Registrierung bei Moondream und Erstellung eines API-Schlüssels
- Festlegung der Umgebungsvariable
MOONDREAM_API_KEY
- Täglich 5.000 kostenlose Anfragen (ca. Hunderte von Testfällen)
- Vollständig Open Source und unterstützt Self-Hosting
Ausführen von Tests
Grundlegender Ausführungsbefehl
npx magnitude
Dadurch werden alle Magnitude-Testdateien ausgeführt, die mit dem Muster *.mag.ts
gefunden werden.
Parallele Tests
npx magnitude -w <workers>
Testfallbeispiele
Grundlegende Syntax
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')
Komplexes Szenariobeispiel
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');
Kernkonzepte
Natürliche Sprachbeschreibung
- Schritte (Steps): Beschreiben die auszuführenden Aktionen
- Prüfungen (Checks): Natürliche Sprachbehauptungen
- Daten (Data): Testdaten, die beliebige Schlüssel-Wert-Paare unterstützen
Designphilosophie
Das Schreiben von Testfällen ist wie die Beschreibung für einen Kollegen, wie ein bestimmter Prozess getestet werden soll:
- Welche Schritte müssen sie unternehmen
- Was sollte geprüft werden
- Welche Testdaten sind zu verwenden
CI/CD-Integration
Magnitude-Tests können in jeder CI-Umgebung ausgeführt werden, die Playwright-Tests ausführen kann, solange die LLM-Client-Anmeldeinformationen enthalten sind.
GitHub Actions-Unterstützung
Das Projekt bietet detaillierte Anweisungen zum Ausführen von Testfällen in GitHub Actions.
Technische Architektur
Duales Modell-Design
Magnitude verwendet eine getrennte Planungs-/Ausführungsmodellarchitektur:
- Planungsmodell: Erstellung effektiver Teststrategien
- Ausführungsmodell: Schnelle und zuverlässige Ausführung von Tests
Unterschiede zu anderen Lösungen
Im Vergleich zu den Computer Use APIs von OpenAI oder Anthropic:
- Höhere Geschwindigkeit: Speziell für Testfälle optimiert
- Höhere Zuverlässigkeit: Speziell entwickelte Agentenarchitektur
- Geringere Kosten: Kostenoptimierung für Testszenarien
- Nativer Test-Runner: Speziell entwickelte Tools für Testdesign und -ausführung
Zusammenfassung
Magnitude stellt eine wichtige Innovation im Bereich der Testautomatisierung dar, indem es die Vorteile von KI-Technologien und traditionellen Testframeworks kombiniert und eine leistungsstarke, flexible und einfach zu bedienende Testlösung für Webanwendungen bietet. Die Kombination aus natürlicher Sprachbeschreibung von Tests und visuellen KI-Agenten macht das Schreiben und die Wartung von Testfällen einfacher denn je.