Probador de estres de contratos API

Genera casos de prueba de valores limite desde OpenAPI 3.x y opcionalmente los envia a un backend real para detectar desviaciones del contrato.

Pegue un documento OpenAPI 3.x en "Especificacion OpenAPI". Se admiten YAML y JSON.

Que debes proporcionar:

  • Un documento OpenAPI 3.x valido con paths, parameters, request bodies y responses
  • Referencias opcionales en components.schemas para resolver request bodies
  • Un Base URL opcional si quieres enviar los casos generados a un backend real

Como funciona cada campo:

  • Especificacion OpenAPI: pega el contrato completo en YAML o JSON
  • URL base: dejala vacia para generar casos sin red, o usa algo como https://api.example.com para ejecutar solicitudes
  • Ejecutar solicitudes reales: al activarlo, la herramienta envia casos invalidos o de borde al Base URL
  • Cabecera de autorizacion: valor opcional sin procesar, como Bearer
  • Casos maximos por campo: limita cuantos casos de borde se generan por parametro o campo del body
  • Tiempo limite (ms): limita cuanto puede tardar cada solicitud real antes de abortarse

Que se prueba:

  • Campos obligatorios ausentes
  • Cadenas vacias, demasiado cortas o demasiado largas
  • Valores enum invalidos
  • Numeros por debajo del minimo o por encima del maximo
  • Tipos escalares o arrays incorrectos para campos documentados

Notas:

  • Si no activas las solicitudes reales, la herramienta solo genera un plan de pruebas de contrato.
  • Si las activas, el reporte marca si cada estado HTTP observado esta documentado en responses.
  • Se cubren path, query, header y body JSON; la version actual se centra en request bodies application/json.

Resultados de ejemplo

1 Ejemplos

Generar casos limite para una API de registro

Revisa restricciones minLength, enum y numericas antes de conectar un mock server o 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 }

Datos clave

Categoría
Desarrollo y Web
Tipos de entrada
textarea, text, checkbox, number
Tipo de salida
json
Cobertura de muestras
4
API disponible
Yes

Resumen

El Probador de estrés de contratos API es una herramienta diseñada para generar automáticamente casos de prueba de valores límite a partir de documentos OpenAPI 3.x. Permite evaluar la robustez de su API simulando peticiones con datos faltantes, cadenas de texto inválidas o valores numéricos fuera de rango, con la opción de enviar estas solicitudes a un servidor real para detectar discrepancias entre la documentación y el comportamiento del backend.

Cuándo usarlo

  • Cuando necesite validar que su backend maneja correctamente los valores límite y las restricciones definidas en su especificación OpenAPI.
  • Antes de integrar un servidor mock o un pipeline de CI/CD para asegurar que los contratos de la API sean precisos y estén actualizados.
  • Al auditar una API existente para descubrir respuestas HTTP no documentadas frente a peticiones malformadas o inesperadas.

Cómo funciona

  • Pegue su documento OpenAPI 3.x (en formato YAML o JSON) en el campo de especificación.
  • Opcionalmente, ingrese la URL base de su entorno de pruebas y active la ejecución de solicitudes reales para enviar los casos generados al servidor.
  • Configure parámetros adicionales como la cabecera de autorización, el límite de casos por campo y el tiempo de espera máximo.
  • Revise el reporte JSON generado, el cual detallará los casos de prueba creados y, si se ejecutaron, cualquier estado HTTP devuelto que no esté documentado en el contrato.

Casos de uso

Generación rápida de un plan de pruebas de valores límite para los endpoints de una nueva API REST.
Detección de vulnerabilidades o errores de validación en el backend al inyectar datos que violan el esquema OpenAPI.
Verificación de que todos los códigos de estado HTTP de error devueltos por el servidor estén correctamente declarados en la sección de respuestas del contrato.

Ejemplos

1. Validación de un endpoint de registro de usuarios

Ingeniero de QA
Contexto
El equipo de desarrollo ha entregado un nuevo endpoint para registrar usuarios, documentado con OpenAPI 3.0.
Problema
Es necesario comprobar si el backend rechaza correctamente correos electrónicos demasiado cortos y roles no permitidos sin tener que escribir las pruebas manualmente.
Cómo usarlo
Pegue el YAML del contrato en 'Especificación OpenAPI', establezca 'Casos máximos por campo' en 3 y genere el reporte sin ejecutar peticiones reales.
Configuración de ejemplo
{"executeRequests": false, "maxCasesPerField": 3}
Resultado
Se obtiene un JSON con casos de prueba estructurados que incluyen la omisión de campos requeridos y el envío de valores de enumeración inválidos, listos para ser implementados en el framework de pruebas.

2. Prueba de estrés en un entorno de staging

Desarrollador Backend
Contexto
Se han actualizado las validaciones de un endpoint de procesamiento de pagos y se necesita confirmar que el servidor responde con los códigos HTTP correctos.
Problema
El desarrollador quiere enviar peticiones reales con datos límite al entorno de staging para ver si el servidor devuelve algún error 500 no documentado.
Cómo usarlo
Ingrese el contrato JSON, coloque la URL de staging en 'URL base', active 'Ejecutar solicitudes reales', añada el token en 'Cabecera de autorización' y ejecute la prueba.
Configuración de ejemplo
{"baseUrl": "https://staging-api.ejemplo.com", "executeRequests": true, "authorizationHeader": "Bearer abc123token"}
Resultado
La herramienta envía las peticiones límite al servidor y genera un reporte que resalta cualquier código de estado HTTP devuelto que no estuviera definido en las respuestas del documento OpenAPI.

Probar con muestras

development

Hubs relacionados

Preguntas frecuentes

¿Qué formatos de especificación OpenAPI soporta la herramienta?

Soporta documentos OpenAPI 3.x tanto en formato YAML como en JSON.

¿Es obligatorio enviar las peticiones a un servidor real?

No, si deja la URL base vacía o desactiva la ejecución de solicitudes reales, la herramienta solo generará un plan de pruebas de contrato en formato JSON.

¿Qué tipo de casos límite se generan automáticamente?

Se generan casos como campos obligatorios ausentes, cadenas vacías o fuera de los límites de longitud, valores de enumeración inválidos y números fuera de los rangos mínimo o máximo.

¿Cómo manejo la autenticación si decido ejecutar solicitudes reales?

Puede proporcionar su token o credencial directamente en el campo 'Cabecera de autorización', utilizando formatos estándar como 'Bearer <token>'.

¿Qué partes de la petición HTTP se evalúan?

La herramienta cubre parámetros de ruta (path), consulta (query), cabeceras (header) y el cuerpo de la petición (body JSON), centrándose principalmente en cuerpos application/json.

Documentación de la API

Punto final de la solicitud

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

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
openApiSpec textarea -
baseUrl text No -
executeRequests checkbox No -
authorizationHeader text No -
maxCasesPerField number No -
timeoutMs number No -

Formato de respuesta

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

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-api-contract-stress-tester": {
      "name": "api-contract-stress-tester",
      "description": "Genera casos de prueba de valores limite desde OpenAPI 3.x y opcionalmente los envia a un backend real para detectar desviaciones del contrato.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-contract-stress-tester",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]