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.
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 Magnitudeexample.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.