Apidog

Plataforma de desarrollo de API colaborativa todo en uno

Diseño de API

Documentación de API

Depuración de API

Simulación de API

Prueba automatizada de API

Guía Completa para Pruebas de Integración de API (Código Listo para Usar)

Oliver Kingsley

Oliver Kingsley

Updated on May 20, 2025

Las pruebas de integración de API garantizan que diferentes API funcionen juntas como se espera. Estas pruebas validan cómo interactúan varios componentes, incluyendo:

  • Autenticación de API
  • Paginación
  • Limitación de velocidad (Rate limiting)
  • Cuerpos de respuesta

Consejo profesional: Para realizar pruebas de integración de API sin problemas, Apidog es tu plataforma ideal. Simplifica el proceso de simular flujos de trabajo del mundo real, permitiéndote probar eficientemente cómo interactúan múltiples API.

button

Beneficios Clave de las Pruebas de Integración de API

  1. Fiabilidad y Precisión de Datos: Asegura que los datos se transfieran correctamente entre sistemas y que las API funcionen de manera fiable.
  2. Manejo de Errores: Ayuda a identificar y abordar errores, mejorando la forma en que el sistema reacciona a respuestas problemáticas de las API.
  3. Optimización del Rendimiento: Ayuda a detectar cuellos de botella en el rendimiento, especialmente al manejar grandes cantidades de datos.
  4. Mantenimiento de la Compatibilidad: Asegura que las nuevas actualizaciones de API no rompan el sistema.
  5. Seguridad: Ayuda a detectar vulnerabilidades y a salvaguardar los intercambios de datos.

Pruebas de Integración de API vs Pruebas Unitarias

  • Pruebas Unitarias: Prueban componentes o funciones individuales de forma aislada.
  • Pruebas de Integración: Prueban cómo diferentes componentes (incluyendo API) trabajan juntos. Verifican que la integración de las API funcione como un todo.

Pasos Clave en las Pruebas de Integración de API

  1. Desarrollar un Plan de Pruebas: Esquematizar los objetivos y escenarios a probar.
  2. Crear Casos de Prueba: Construir diferentes casos para cubrir varios escenarios de uso.
  3. Ejecutar Pruebas: Ejecutar las pruebas de integración.
  4. Seguimiento, Informe y Resolución de Problemas: Identificar problemas a partir de las pruebas, resolverlos y hacer seguimiento del progreso.
  5. Volver a Probar: Asegurar que las correcciones resuelvan el problema sin introducir nuevos.
  6. Repetir: Mejorar continuamente la integración hasta que esté libre de errores.

Pruebas de Integración de API Usando Apidog

Apidog agiliza significativamente las pruebas de integración de API al permitir a los ingenieros de control de calidad diseñar y ejecutar escenarios de prueba complejos que simulan flujos de trabajo del mundo real que involucran múltiples API.

Por ejemplo, en un proceso de compra de mascotas, donde interactúan varias API —como navegar por listas de mascotas, añadir artículos a un carrito, realizar un pedido, efectuar pagos y consultar detalles del pedido— Apidog facilita la configuración de estas pruebas interconectadas.

usando Apidog para pruebas de integración de API

Los ingenieros de control de calidad pueden crear escenarios vinculando endpoints de API y transfiriendo datos entre ellos, como pasar un ID de pedido entre el endpoint "Crear Pedido" y los subsiguientes endpoints de pago y consulta de pedido. El robusto manejo de datos de Apidog permite esto ya sea guardando el ID de pedido como una variable o referenciando directamente el valor de retorno del paso anterior, agilizando el proceso de prueba.

transferencia de datos entre API

Para operaciones más complejas, como acciones masivas tipo añadir múltiples mascotas a un carrito, el bucle ForEach de Apidog simplifica la tarea insertando automáticamente los IDs de las mascotas de un array en cada solicitud de API.

Bucle ForEach de Apidog para pruebas de integración de API

Una vez que se crean y ejecutan los escenarios de prueba, Apidog genera informes de prueba detallados, que ayudan a los ingenieros de control de calidad a identificar y corregir problemas rápidamente, asegurando que todas las API funcionen correctamente dentro de un flujo de trabajo unificado.

informe de integración de API generado por Apidog

Con las capacidades de prueba de integración de Apidog, los desarrolladores pueden simular eficientemente acciones de usuarios reales, probar múltiples endpoints juntos y asegurar intercambios de datos fluidos entre API, convirtiéndola en la plataforma ideal para el desarrollo, prueba e integración de API.

Aprende cómo Apidog mejora las pruebas de API y optimiza la eficiencia de las pruebas para ingenieros de control de calidad.

Mejores Prácticas para Pruebas de Integración de API

  1. Usar Bibliotecas de Mocking: Utiliza bibliotecas como requests_mock para simular interacciones de red. Esto aísla la prueba y acelera las pruebas al evitar llamadas reales a la API.
  2. Manejo de Errores: Prueba cómo tu sistema responde a varios errores de API (por ejemplo, 404, 500) para asegurar que no falle.
  3. Probar Valores Límite: Utiliza valores extremos para probar cómo los maneja el sistema.
  4. Compatibilidad con Versiones Anteriores: Asegura que los cambios en la API no rompan tu funcionalidad existente.
  5. Datos Realistas: Utiliza escenarios realistas (por ejemplo, datos de usuarios reales, precios precisos) para probar cómo se comportará el sistema en el mundo real.
  6. Mantener las Pruebas Actualizadas: A medida que las API evolucionan, actualiza tus pruebas para que sigan siendo precisas y fiables.

Ejemplo de Pruebas de Integración de API

Aquí tienes un ejemplo práctico de cómo probar la integración de API usando Python y la biblioteca requests_mock.

Paso 1: Instalar las Bibliotecas Requeridas

pip install requests requests_mock

Paso 2: Ejemplo de Código de Integración de API

Este ejemplo demuestra cómo integrar dos API públicas: una para conversión de moneda y otra para verificar la disponibilidad de productos basada en un código postal.

import requests

def get_converted_price(product_price: int, conversion_currency: str) -> float:
    converted_price = None
    base_currency = "usd"
    api_url = f"https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/{base_currency}/{conversion_currency.lower()}.json"

    try:
        resp = requests.get(api_url)
        if resp.ok:
            currency_data = resp.json()
            converted_price = product_price * currency_data[conversion_currency]
            print(f"Converted price: {round(converted_price, 2)} {conversion_currency.upper()}")
        else:
            print(f"Error: {resp.text}")
    except Exception as ex:
        print(f"Exception: {ex}")
    finally:
        return converted_price

def get_product_availability(zipcode: int) -> bool:
    availability = None
    api_url = f"https://api.zippopotam.us/us/{zipcode}"

    try:
        resp = requests.get(api_url)
        if resp.ok:
            zip_data = resp.json()
            state = zip_data["places"][0]["state"]
            availability = False if state in ["Texas", "California"] else True
            print(f"Availability in {state}: {availability}")
        else:
            print(f"Error: {resp.text}")
    except Exception as ex:
        print(f"Exception: {ex}")
    finally:
        return availability

Paso 3: Probar las Integraciones de API

Puedes crear pruebas unitarias para validar la integración usando unittest y requests_mock:

import unittest
import requests_mock
from api_integration import get_converted_price, get_product_availability

class TestAPIIntegrations(unittest.TestCase):

    def test_get_converted_price(self):
        test_data = {"usd": 82.6}
        expected_price = 8260
        with requests_mock.Mocker() as mock:
            mock.get("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/usd/inr.json", json=test_data)
            calculated_price = get_converted_price(100, "inr")
            self.assertEqual(calculated_price, expected_price)

    def test_get_converted_price_failure(self):
        with requests_mock.Mocker() as mock:
            mock.get("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/usd/inr.json", status_code=404)
            calculated_price = get_converted_price(100, "inr")
            self.assertIsNone(calculated_price)

    def test_get_product_availability_true(self):
        test_data = {"places": [{"state": "California"}]}
        with requests_mock.Mocker() as mock:
            mock.get("https://api.zippopotam.us/us/90210", json=test_data)
            availability = get_product_availability(90210)
            self.assertTrue(availability)

    def test_get_product_availability_false(self):
        test_data = {"places": [{"state": "Texas"}]}
        with requests_mock.Mocker() as mock:
            mock.get("https://api.zippopotam.us/us/75001", json=test_data)
            availability = get_product_availability(75001)
            self.assertFalse(availability)

    def test_get_product_availability_failure(self):
        with requests_mock.Mocker() as mock:
            mock.get("https://api.zippopotam.us/us/75001", status_code=500)
            availability = get_product_availability(75001)
            self.assertIsNone(availability)

if __name__ == '__main__':
    unittest.main(verbosity=2)

Paso 4: Ejecutar las Pruebas de Integración de API

Para ejecutar las pruebas, usa el siguiente comando en tu terminal:

python api_integration_tests.py

Esto ejecutará todas las pruebas y mostrará una salida detallada de cada una, incluyendo si las respuestas simuladas de la API se manejaron correctamente y si se cumplieron los resultados esperados.

Consideraciones Finales

Las pruebas de integración de API aseguran que las API funcionen juntas según lo previsto. Al usar bibliotecas de mocking y casos de prueba exhaustivos, puedes verificar eficientemente el comportamiento de integración de tu sistema. Asegúrate siempre de que tus pruebas estén actualizadas a medida que tus API evolucionan, y considera implementar pruebas automatizadas para la integración continua.

Si buscas automatizar aún más el proceso de integración, herramientas como Apidog ofrecen una API unificada para escalar y probar integraciones rápidamente.