Home
Login

Ein KI-basiertes Open-Source-End-to-End-Webanwendungstest-Framework, das den Testprozess mithilfe von visuellen KI-Agenten automatisiert.

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

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-Testkonfigurationsdatei
  • example.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.

Star History Chart