Categorias

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
Development
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 projetada para gerar automaticamente casos de teste de valores limite a partir de especificações OpenAPI 3.x. Ele permite validar esquemas e, opcionalmente, enviar requisições reais para um backend, ajudando desenvolvedores e engenheiros de QA a identificar rapidamente divergências entre a documentação e a implementação real da API.

Quando usar

  • Quando precisar validar se a implementação do backend respeita os limites numéricos e de tamanho definidos no contrato OpenAPI.
  • Antes de integrar novos endpoints em produção, para garantir que campos obrigatórios e enums sejam tratados corretamente.
  • Durante auditorias de segurança ou testes de QA para descobrir como a API reage a cargas de dados inesperadas ou malformadas.

Como funciona

  • Cole a sua especificação OpenAPI 3.x (em formato YAML ou JSON) no campo principal.
  • Ajuste o número máximo de casos por campo e, se desejar testar o backend real, ative a execução de requisições e insira a URL base e o cabeçalho de autorização.
  • A ferramenta analisa o esquema e gera casos de teste focados em limites, como valores ausentes, strings longas ou números fora do intervalo.
  • Exporte ou visualize o relatório JSON resultante, que detalha os casos gerados e quaisquer divergências encontradas no contrato.

Casos de uso

Geração automatizada de payloads de teste para pipelines de CI/CD baseados em contratos OpenAPI.
Validação de robustez de APIs recém-desenvolvidas contra entradas inválidas ou extremas.
Sincronização e verificação de conformidade entre a documentação da API e o comportamento real do servidor.

Exemplos

1. Gerar casos limite para uma API de cadastro

Engenheiro de QA
Contexto
A equipe de desenvolvimento acabou de documentar um novo endpoint de criação de usuários usando OpenAPI.
Problema
É necessário criar testes para validar se o backend rejeita e-mails curtos, idades menores que 18 e papéis (roles) inválidos.
Como usar
Cole o YAML do OpenAPI no campo de especificação, defina 'Casos máximos por campo' como 3 e mantenha a execução de requisições desativada.
Configuração de exemplo
executeRequests: false, maxCasesPerField: 3
Resultado
A ferramenta gera um JSON com 7 casos de teste, incluindo cenários para campos obrigatórios ausentes e membros de enumeração inválidos.

2. Testar divergências em um backend de staging

Desenvolvedor Backend
Contexto
O endpoint de atualização de perfil foi modificado e precisa ser validado contra o contrato atual antes do deploy.
Problema
Garantir que o servidor de staging retorne os erros corretos (ex: 400 Bad Request) quando limites de contrato são violados.
Como usar
Insira o JSON do OpenAPI, ative 'Executar requisições reais', preencha a 'URL base' com o ambiente de staging e adicione o token no 'Cabeçalho de autorização'.
Configuração de exemplo
baseUrl: 'https://staging.api.com', executeRequests: true, authorizationHeader: 'Bearer abc123_token'
Resultado
A ferramenta executa as requisições contra o staging e retorna um relatório apontando exatamente quais endpoints não estão validando os limites do contrato.

Testar com amostras

development

Hubs relacionados

FAQ

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

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

É obrigatório enviar requisições para um backend real?

Não. Você pode usar a ferramenta apenas para gerar os casos de teste de limite e revisá-los sem executar nenhuma requisição.

Como a ferramenta gera os casos de teste?

Ela lê as propriedades do seu esquema (como minLength, enum, minimum) e cria payloads que violam ou testam os limites exatos dessas regras.

Posso testar APIs que exigem autenticação?

Sim. Basta preencher o campo 'Cabeçalho de autorização' com o seu token (por exemplo, 'Bearer <seu_token>') para autenticar as requisições reais.

Qual é o limite de casos gerados por campo?

Você pode configurar a geração de 1 a 6 casos de teste por campo, permitindo um controle entre testes rápidos e testes exaustivos.

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]