Framework de teste de aplicações web de ponta a ponta, de código aberto e baseado em IA, que usa agentes de IA visual para automatizar o processo de teste.
Magnitude - Framework de Teste de Aplicações Web Baseado em IA
Visão Geral do Projeto
Magnitude é um framework de teste de código aberto, nativo de IA, projetado especificamente para aplicações web. Ele é impulsionado por agentes de IA visual, capazes de ver sua interface e se adaptar a quaisquer mudanças nela.
Principais Características
🎯 Funcionalidades Principais
- ✍️ Construção de Casos de Teste em Linguagem Natural - Construa casos de teste facilmente usando linguagem natural
- 🧠 Agente de Raciocínio Poderoso - Planeja e ajusta de forma inteligente o fluxo de teste
- 👁️ Agente Visual Rápido - Executa execuções de teste de forma confiável
- 📄 Salvar Plano de Teste - Salve planos para executar execuções da mesma forma
- 🛠 Tratamento Inteligente de Problemas - O agente de raciocínio intervém para lidar com problemas quando eles surgem
- 🏃♂️ Implantação Flexível - Execute testes localmente ou em pipelines CI/CD
Começo Rápido
1. Instale o Executor de Teste
npm install --save-dev magnitude-test
2. Inicialize o Projeto
npx magnitude init
Isso criará um diretório de teste básico tests/magnitude
, contendo:
magnitude.config.ts
- Arquivo de configuração de teste do Magnitudeexample.mag.ts
- Arquivo de teste de exemplo
3. Configure o Cliente LLM
O Magnitude requer a configuração de dois clientes LLM:
Planejador (Planner)
- Modelo Recomendado: Gemini 2.5 Pro
- Método de Configuração:
- Use o Gemini através do Google AI Studio ou Vertex AI
- Crie uma chave de API no Google AI Studio e exporte-a como
GOOGLE_API_KEY
- Provedores alternativos suportados:
ANTHROPIC_API_KEY
/OPENAI_API_KEY
Executor (Executor)
- Modelo Usado: Moondream
- Método de Configuração:
- Registre-se no Moondream e crie uma chave de API
- Defina a variável de ambiente
MOONDREAM_API_KEY
- Oferece 5.000 solicitações gratuitas por dia (aproximadamente centenas de casos de teste)
- Totalmente de código aberto e suporta auto-hospedagem
Executar Testes
Comando Básico de Execução
npx magnitude
Isso executará todos os arquivos de teste do Magnitude descobertos usando o padrão *.mag.ts
.
Testes Paralelos
npx magnitude -w <workers>
Exemplos de Casos de Teste
Sintaxe Básica
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')
Exemplo de Cenário Complexo
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');
Conceitos Fundamentais
Descrição em Linguagem Natural
- Passos (Steps): Descrevem as ações a serem executadas
- Verificações (Checks): Asserções em linguagem natural
- Dados (Data): Dados de teste, suporta qualquer par chave-valor
Filosofia de Design
Escrever casos de teste é como descrever a um colega como testar um processo específico:
- Quais passos eles precisam tomar
- O que deve ser verificado
- Quais dados de teste usar
Integração CI/CD
Os testes do Magnitude podem ser executados em qualquer ambiente CI que possa executar testes do Playwright, apenas incluindo as credenciais do cliente LLM.
Suporte ao GitHub Actions
O projeto fornece instruções detalhadas sobre como executar casos de teste no GitHub Actions.
Arquitetura Técnica
Design de Modelo Duplo
O Magnitude usa uma arquitetura de modelo de planejamento/execução separada:
- Modelo de Planejamento: Formula uma estratégia de teste eficaz
- Modelo de Execução: Executa testes de forma rápida e confiável
Diferenças de Outras Soluções
Comparado com as APIs de Uso de Computador da OpenAI ou Anthropic:
- Maior Velocidade: Otimizado especificamente para casos de teste
- Maior Confiabilidade: Arquitetura de agente projetada especificamente
- Menor Custo: Otimização de custo para cenários de teste
- Executor de Teste Nativo: Ferramentas de design e execução de teste construídas especificamente
Resumo
O Magnitude representa uma inovação importante no campo da automação de testes, combinando as vantagens da tecnologia de IA e dos frameworks de teste tradicionais para fornecer uma solução de teste poderosa, flexível e fácil de usar para aplicações web. A combinação de descrições de teste em linguagem natural e agentes de IA visual torna a escrita e manutenção de casos de teste mais simples do que nunca.