Categorías

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
Development
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 especificaciones OpenAPI 3.x. Permite evaluar la robustez de tu API simulando escenarios extremos y, opcionalmente, ejecutando las solicitudes contra un backend real para detectar cualquier desviación o incumplimiento del contrato establecido.

Cuándo usarlo

  • Cuando necesites validar que la implementación de una nueva API cumple estrictamente con su especificación OpenAPI 3.x.
  • Antes de lanzar a producción, para descubrir errores de validación mediante la inyección de valores límite, campos faltantes o tipos de datos incorrectos.
  • Para automatizar la creación de casos de prueba extremos sin necesidad de escribir scripts manuales para cada endpoint.

Cómo funciona

  • Pega tu documento OpenAPI 3.x (en formato YAML o JSON) en el campo de especificación.
  • Configura el número máximo de casos por campo y, si deseas pruebas reales, introduce la URL base y la cabecera de autorización.
  • La herramienta analiza los esquemas (como minLength, enum o minimum) y genera automáticamente escenarios de prueba límite.
  • Obtén un reporte en formato JSON que detalla los casos generados, las solicitudes ejecutadas y cualquier discrepancia encontrada en el contrato.

Casos de uso

Ingenieros de QA que buscan evaluar la robustez de los endpoints frente a entradas inesperadas o malformadas.
Desarrolladores backend que necesitan verificar que su código maneja correctamente las restricciones definidas en el diseño de la API.
Auditorías de seguridad básicas para identificar excepciones no controladas al enviar datos fuera de los límites permitidos.

Ejemplos

1. Generar casos límite para una API de registro

Ingeniero de QA
Contexto
Se necesita revisar las restricciones de un endpoint de creación de usuarios antes de conectarlo a un mock server o entorno de integración continua.
Problema
Crear manualmente pruebas para cada restricción (minLength, enum, minimum) es lento y propenso a errores.
Cómo usarlo
Pega el YAML de OpenAPI en el campo de especificación, desmarca 'Ejecutar solicitudes reales' y establece los casos máximos por campo en 3.
Configuración de ejemplo
openApiSpec: [YAML de usuarios], executeRequests: false, maxCasesPerField: 3
Resultado
Se genera un JSON con 7 casos de prueba, incluyendo escenarios como 'Missing required field' y 'Invalid enum member', listos para ser importados en otras herramientas.

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

Desarrollador Backend
Contexto
El equipo acaba de desplegar una nueva versión de la API en el entorno de pruebas (staging).
Problema
Asegurar que el servidor responde con los códigos de error HTTP correctos (ej. 400 Bad Request) ante datos inválidos, sin escribir código adicional.
Cómo usarlo
Introduce la especificación OpenAPI, activa 'Ejecutar solicitudes reales', añade la URL base de staging y el token en la cabecera de autorización.
Configuración de ejemplo
baseUrl: 'https://staging.api.example.com', executeRequests: true, authorizationHeader: 'Bearer abc123xyz'
Resultado
La herramienta envía las peticiones límite al servidor y devuelve un reporte JSON destacando las desviaciones donde la API no devolvió el error esperado según el contrato.

Probar con muestras

development

Hubs relacionados

Preguntas frecuentes

¿Qué formatos de especificación soporta?

Soporta documentos OpenAPI 3.x en formato YAML o JSON.

¿Es obligatorio ejecutar las solicitudes contra un servidor real?

No, puedes simplemente generar los casos de prueba en formato JSON desmarcando la opción 'Ejecutar solicitudes reales' para usarlos en tus propias herramientas.

¿Qué tipo de casos límite genera la herramienta?

Genera pruebas basadas en las restricciones de tu esquema, como omisión de campos requeridos, valores fuera de rango numérico, cadenas demasiado cortas o largas, y valores de enumeración inválidos.

¿Cómo manejo la autenticación de mi API durante las pruebas?

Puedes proporcionar un token válido utilizando el campo 'Cabecera de autorización', por ejemplo, introduciendo 'Bearer <tu_token>'.

¿Puedo limitar la cantidad de pruebas generadas?

Sí, puedes ajustar el parámetro 'Casos máximos por campo' (entre 1 y 6) para controlar el volumen de pruebas generadas y evitar sobrecargar el servidor.

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]