Home
Login

Framework de test web open source de bout en bout basé sur l'IA, utilisant des agents d'IA visuelle pour automatiser le processus de test.

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

Magnitude - Framework de test d'applications Web basé sur l'IA

Aperçu du projet

Magnitude est un framework de test open source, natif de l'IA, conçu spécifiquement pour les applications Web. Il est piloté par des agents d'IA visuelle, capables de voir votre interface et de s'adapter à tous les changements qui y surviennent.

Caractéristiques principales

🎯 Fonctionnalités clés

  • ✍️ Construction de cas de test en langage naturel - Créez facilement des cas de test en utilisant le langage naturel
  • 🧠 Agent de raisonnement puissant - Planifie et ajuste intelligemment le flux de test
  • 👁️ Agent visuel rapide - Exécute les tests de manière fiable
  • 📄 Sauvegarde des plans de test - Enregistrez les plans pour exécuter les tests de la même manière
  • 🛠 Gestion intelligente des problèmes - L'agent de raisonnement intervient en cas de problème
  • 🏃♂️ Déploiement flexible - Exécutez les tests localement ou dans un pipeline CI/CD

Démarrage rapide

1. Installation du lanceur de tests

npm install --save-dev magnitude-test

2. Initialisation du projet

npx magnitude init

Cela créera un répertoire de test de base tests/magnitude, contenant :

  • magnitude.config.ts - Fichier de configuration des tests Magnitude
  • example.mag.ts - Fichier de test d'exemple

3. Configuration du client LLM

Magnitude nécessite la configuration de deux clients LLM :

Planificateur (Planner)

  • Modèle recommandé : Gemini 2.5 Pro
  • Méthode de configuration :
    • Utilisez Gemini via Google AI Studio ou Vertex AI
    • Créez une clé API dans Google AI Studio et exportez-la en tant que GOOGLE_API_KEY
    • Fournisseurs alternatifs pris en charge : ANTHROPIC_API_KEY / OPENAI_API_KEY

Exécuteur (Executor)

  • Modèle utilisé : Moondream
  • Méthode de configuration :
    • Inscrivez-vous à Moondream et créez une clé API
    • Définissez la variable d'environnement MOONDREAM_API_KEY
    • Fournit 5 000 requêtes gratuites par jour (environ quelques centaines de cas de test)
    • Entièrement open source et prend en charge l'auto-hébergement

Exécution des tests

Commande d'exécution de base

npx magnitude

Cela exécutera tous les fichiers de test Magnitude découverts à l'aide du modèle *.mag.ts.

Tests parallèles

npx magnitude -w <workers>

Exemples de cas de test

Syntaxe de base

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')

Exemple de scénario complexe

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');

Concepts clés

Description en langage naturel

  • Étapes (Steps) : Décrit les actions à effectuer
  • Vérifications (Checks) : Assertions en langage naturel
  • Données (Data) : Données de test, prend en charge n'importe quelle paire clé-valeur

Philosophie de conception

L'écriture des cas de test est comme décrire à un collègue comment tester un processus spécifique :

  • Quelles étapes ils doivent suivre
  • Ce qu'ils doivent vérifier
  • Quelles données de test utiliser

Intégration CI/CD

Les tests Magnitude peuvent être exécutés dans n'importe quel environnement CI capable d'exécuter des tests Playwright, en incluant simplement les informations d'identification du client LLM.

Prise en charge de GitHub Actions

Le projet fournit des instructions détaillées pour l'exécution des cas de test sur GitHub Actions.

Architecture technique

Conception à double modèle

Magnitude utilise une architecture de modèle de planification/exécution séparée :

  • Modèle de planification : Élabore une stratégie de test efficace
  • Modèle d'exécution : Exécute les tests rapidement et de manière fiable

Différences par rapport aux autres solutions

Comparé aux API d'utilisation informatique d'OpenAI ou d'Anthropic :

  • Vitesse plus rapide : Optimisé spécifiquement pour les cas de test
  • Fiabilité accrue : Architecture d'agent spécialement conçue
  • Coût inférieur : Optimisation des coûts pour les scénarios de test
  • Lanceur de test natif : Outils de conception et d'exécution de test spécialement conçus

Conclusion

Magnitude représente une innovation importante dans le domaine de l'automatisation des tests. En combinant les avantages de la technologie de l'IA et des frameworks de test traditionnels, il offre une solution de test puissante, flexible et facile à utiliser pour les applications Web. La combinaison de descriptions de test en langage naturel et d'agents d'IA visuelle simplifie l'écriture et la maintenance des cas de test comme jamais auparavant.

Star History Chart