Testador de estresse de contrato de API

Gera casos de limite a partir de OpenAPI 3.x e opcionalmente envia ao backend real para detectar divergencias do contrato.

Cole um documento OpenAPI 3.x em "Especificacao OpenAPI". YAML e JSON sao suportados.

O que fornecer:

  • Um documento OpenAPI 3.x valido com paths, parameters, request bodies e responses
  • Referencias opcionais em components.schemas para resolver schemas de request body
  • Uma URL base opcional se quiser enviar os casos gerados para um backend real

Como os campos funcionam:

  • Especificacao OpenAPI: cole o contrato completo em YAML ou JSON
  • URL base: deixe vazio para gerar casos offline ou use algo como https://api.example.com para executar requisicoes
  • Executar requisicoes reais: quando ativado, a ferramenta envia requisicoes invalidas ou de borda para a URL base
  • Cabecalho de autorizacao: valor bruto opcional, como Bearer
  • Casos maximos por campo: limita quantos casos de borda sao gerados por parametro ou campo do body
  • Tempo limite da requisicao (ms): limita quanto cada requisicao real pode durar

O que e testado:

  • Campos obrigatorios ausentes
  • Strings vazias, curtas demais ou longas demais
  • Valores enum invalidos
  • Numeros abaixo do minimum ou acima do maximum
  • Tipos escalares ou arrays incorretos para campos documentados

Notas:

  • Se "Executar requisicoes reais" estiver desativado, a ferramenta gera apenas um plano de teste de contrato.
  • Se estiver ativado, o relatorio marca se cada status HTTP observado esta documentado nas responses do OpenAPI.
  • Path, query, header e JSON body sao cobertos; a versao atual foca em request bodies application/json.

Exemplos de resultados

1 Exemplos

Gerar casos limite para uma API de cadastro

Revise minLength, enum e limites numericos antes de ligar mock server ou CI.

{
  "summary": {
    "endpoints": 1,
    "generatedCases": 7,
    "executedCases": 0,
    "mismatches": 0
  },
  "cases": [
    {
      "fieldPath": "body.email",
      "title": "Missing required field"
    },
    {
      "fieldPath": "body.role",
      "title": "Invalid enum member"
    }
  ]
}
Ver parâmetros de entrada
{ "openApiSpec": "openapi: 3.0.0\npaths:\n /users:\n post:\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n required: [email, role]\n properties:\n email: { type: string, minLength: 5 }\n role: { type: string, enum: [admin, member] }\n age: { type: integer, minimum: 18 }\n responses:\n \"201\": { description: created }\n \"400\": { description: bad request }\n", "executeRequests": false, "maxCasesPerField": 3 }

Fatos principais

Categoria
Desenvolvimento e Web
Tipos de entrada
textarea, text, checkbox, number
Tipo de saída
json
Cobertura de amostras
4
API disponível
Yes

Visão geral

O Testador de Estresse de Contrato de API é uma ferramenta avançada que analisa documentos OpenAPI 3.x para gerar automaticamente casos de teste de limite e exceção. Ele permite validar se a sua API real está em conformidade com o contrato documentado, identificando falhas em campos obrigatórios, limites numéricos, validações de string e tipos de dados, com a opção de executar as requisições diretamente contra o seu backend para detectar divergências de status HTTP.

Quando usar

  • Antes de integrar novos endpoints em produção, para garantir que o backend rejeita corretamente requisições malformadas ou fora dos limites.
  • Durante auditorias de segurança ou testes de robustez para descobrir vulnerabilidades de validação de entrada em APIs RESTful.
  • Ao atualizar a documentação OpenAPI, para verificar se as regras de schema (como minLength, maximum ou enum) correspondem ao comportamento real do servidor.

Como funciona

  • Cole a sua especificação OpenAPI 3.x (em formato YAML ou JSON) no campo principal da ferramenta.
  • Configure a URL base e o cabeçalho de autorização caso deseje que a ferramenta execute as requisições reais contra o seu servidor.
  • Ajuste o limite de casos por campo e o tempo limite da requisição para controlar o volume e a duração dos testes de estresse.
  • Analise o relatório JSON gerado, que detalha os casos de limite criados e aponta quaisquer divergências entre as respostas do servidor e o contrato documentado.

Casos de uso

Geração automatizada de planos de teste de mutação e limite para equipes de Quality Assurance (QA).
Validação contínua de contratos (Contract Testing) para garantir que o backend respeita as restrições do OpenAPI.
Descoberta de falhas de tratamento de erros (como retornos 500 em vez de 400) em APIs recém-desenvolvidas.

Exemplos

1. Geração de plano de testes offline para API de cadastro

Engenheiro de QA
Contexto
A equipe de desenvolvimento entregou a especificação de um novo endpoint de criação de usuários, mas o backend ainda não está pronto para receber chamadas.
Problema
Criar rapidamente uma lista de casos de teste de borda (strings curtas, enums inválidos, campos ausentes) para preparar os scripts de automação.
Como usar
Cole o YAML do OpenAPI no campo principal, deixe a URL base vazia e mantenha a execução de requisições reais desativada.
Configuração de exemplo
{
  "executeRequests": false,
  "maxCasesPerField": 3
}
Resultado
A ferramenta gera um relatório JSON contendo todos os casos de limite (ex: e-mail ausente, role inválida) sem fazer chamadas de rede, servindo como base para os testes futuros.

2. Validação de contrato em ambiente de staging

Desenvolvedor Backend
Contexto
Uma API de pagamentos foi atualizada e precisa rejeitar valores negativos ou nulos estritamente conforme o contrato OpenAPI.
Problema
Garantir que o servidor de staging retorne os códigos HTTP 400 corretos para requisições inválidas, sem precisar testar manualmente cada variação de erro.
Como usar
Insira o JSON do OpenAPI, defina a URL base para o ambiente de staging, ative as requisições reais e insira o token de autorização necessário.
Configuração de exemplo
{
  "baseUrl": "https://staging.api.empresa.com",
  "executeRequests": true,
  "authorizationHeader": "Bearer token123",
  "timeoutMs": 10000
}
Resultado
A ferramenta dispara as requisições malformadas contra o staging e aponta no relatório se algum endpoint falhou ao validar os dados ou retornou um erro 500 não documentado.

Testar com amostras

development

Hubs relacionados

FAQ

Quais formatos de especificação são suportados?

A ferramenta suporta documentos OpenAPI 3.x válidos nos formatos YAML e JSON.

A ferramenta testa todos os tipos de requisição?

Atualmente, ela cobre parâmetros de path, query, header e corpos de requisição em formato JSON (application/json).

É obrigatório executar requisições reais contra a minha API?

Não. Se a opção 'Executar requisições reais' estiver desativada, a ferramenta apenas gerará um plano de testes focado no contrato, sem fazer chamadas de rede.

Como a ferramenta lida com endpoints que exigem autenticação?

Você pode fornecer um token no campo 'Cabeçalho de autorização' (por exemplo, Bearer <token>) que será incluído em todas as requisições reais executadas.

O que acontece se o servidor retornar um status HTTP não documentado?

O relatório final marcará esse comportamento como uma divergência (mismatch), indicando que o status HTTP observado na prática não está definido nas respostas do seu OpenAPI.

Documentação da API

Ponto final da solicitação

POST /pt/api/tools/api-contract-stress-tester

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
openApiSpec textarea Sim -
baseUrl text Não -
executeRequests checkbox Não -
authorizationHeader text Não -
maxCasesPerField number Não -
timeoutMs number Não -

Formato de resposta

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
Dados JSON: Dados JSON

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-api-contract-stress-tester": {
      "name": "api-contract-stress-tester",
      "description": "Gera casos de limite a partir de OpenAPI 3.x e opcionalmente envia ao backend real para detectar divergencias do contrato.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-contract-stress-tester",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]