Para ejecutar pruebas de API de Apidog CLI en CircleCI, cree .circleci/config.yml, use un ejecutor Docker cimg/node, instale apidog-cli con npm y ejecute apidog run con su token de acceso, el ID del escenario de prueba y el ID del entorno. Guarde esos valores como variables de entorno de CircleCI y publique los reportes JUnit/HTML con store_test_results y store_artifacts.
Este artículo se centra en la ejecución de pruebas de API, no en elegir una plataforma de CI. Si todavía está comparando opciones, consulte la comparación CircleCI vs Jenkins. Aquí asumimos que ya usa CircleCI y quiere ejecutar su suite de API en cada push.
Qué es CircleCI y cómo funciona
CircleCI es una plataforma de integración y entrega continua. Se conecta a su repositorio Git y ejecuta los pasos definidos en .circleci/config.yml cuando detecta cambios.
En una configuración típica de CircleCI intervienen tres conceptos:
- Jobs: unidades de trabajo. Por ejemplo, instalar dependencias y ejecutar pruebas.
-
Executors: entorno donde corre el job. En esta guía usaremos Docker con
cimg/node. - Workflows: orquestan uno o varios jobs y definen cuándo se ejecutan.
Para pruebas de API, el patrón es simple:
- CircleCI hace
checkoutdel repositorio. - Instala Apidog CLI.
- Ejecuta un escenario de prueba de Apidog.
- Guarda los resultados como reportes JUnit y artefactos HTML.
Por qué ejecutar pruebas de API en CircleCI
Ejecutar pruebas de API en CI ayuda a detectar cambios incompatibles antes de llegar a producción: respuestas con esquema distinto, campos renombrados, códigos de estado incorrectos o flujos de autenticación rotos.
El Apidog CLI permite ejecutar en CI los mismos escenarios que diseña en Apidog. No necesita duplicar aserciones en otro framework ni mantener un arnés de pruebas separado.
Si quiere profundizar en la estrategia general, consulte estas 12 mejores prácticas de CI/CD para pruebas de API.
Prerrequisitos
Antes de crear el archivo de CircleCI, prepare estos datos en Apidog:
- Token de acceso: autentica Apidog CLI en CI. Puede generarlo desde la configuración de su cuenta. La guía de autenticación de Apidog CLI explica cómo manejar tokens y secretos.
- ID del escenario de prueba: identifica el escenario que quiere ejecutar.
-
ID del entorno: define qué URL base y variables usará la ejecución, por ejemplo
stagingo producción.
También necesita:
- Una cuenta de CircleCI.
- El repositorio conectado a CircleCI.
- El proyecto habilitado en el dashboard de CircleCI.
Configurar variables de entorno en CircleCI
No escriba tokens directamente en .circleci/config.yml. Ese archivo vive en Git, por lo que cualquier secreto quedaría expuesto.
Cree estas variables en CircleCI:
APIDOG_ACCESS_TOKEN
APIDOG_TEST_SCENARIO_ID
APIDOG_ENVIRONMENT_ID
Puede definirlas de dos formas:
Opción 1: variables del proyecto
En CircleCI:
- Abra el proyecto.
- Vaya a Project Settings.
- Abra Environment Variables.
- Añada las tres variables.
CircleCI las expondrá al job como variables de entorno:
$APIDOG_ACCESS_TOKEN
$APIDOG_TEST_SCENARIO_ID
$APIDOG_ENVIRONMENT_ID
Opción 2: Contextos
Use un Context si varios repositorios comparten los mismos secretos.
- Vaya a Organization Settings.
- Abra Contexts.
- Cree un contexto, por ejemplo
apidog-secrets. - Añada las variables.
- Referencie el contexto desde el workflow.
Más adelante verá el ejemplo YAML.
Crear .circleci/config.yml
Cree este archivo en la raíz del repositorio:
.circleci/config.yml
Pegue esta configuración:
version: 2.1
jobs:
api-tests:
docker:
- image: cimg/node:20.11
steps:
- checkout
- run:
name: Install Apidog CLI
command: npm install -g apidog-cli
- run:
name: Run Apidog API tests
command: |
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
-r cli,junit,html \
--out-dir ./reports
- store_test_results:
path: ./reports
- store_artifacts:
path: ./reports
workflows:
test-api:
jobs:
- api-tests
Después haga commit y push:
git add .circleci/config.yml
git commit -m "Run Apidog API tests in CircleCI"
git push
CircleCI detectará el cambio y ejecutará el workflow.
Entender cada parte del config.yml
Executor Docker
docker:
- image: cimg/node:20.11
cimg/node es una imagen oficial de conveniencia de CircleCI para proyectos Node.js. Incluye Node.js, npm y herramientas comunes.
La etiqueta 20.11 fija la versión de Node. En equipos, conviene usar una versión explícita para evitar cambios inesperados en CI.
Checkout del repositorio
- checkout
Este paso clona el repositorio dentro del entorno del job.
Instalación de Apidog CLI
- run:
name: Install Apidog CLI
command: npm install -g apidog-cli
Instala apidog-cli globalmente dentro del contenedor.
Ejecución de pruebas
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
-r cli,junit,html \
--out-dir ./reports
Qué hace cada opción:
-
--access-token: autentica la CLI con Apidog. -
-t: indica el ID del escenario de prueba. -
-e: indica el ID del entorno. -
-r cli,junit,html: genera salida en consola, reporte JUnit y reporte HTML. -
--out-dir ./reports: guarda los reportes en el directorioreports.
Publicar reportes en CircleCI
La configuración incluye dos pasos para guardar resultados:
- store_test_results:
path: ./reports
- store_artifacts:
path: ./reports
store_test_results permite que CircleCI lea los archivos JUnit y muestre los resultados en la pestaña de pruebas.
store_artifacts sube los archivos del directorio ./reports como artefactos descargables. Ahí podrá abrir el reporte HTML generado por Apidog CLI.
Para más detalle sobre formatos de salida, consulte la guía de reportes de prueba de Apidog CLI.
Ejecutar pruebas solo en ramas específicas
Si no quiere ejecutar la suite de API en cada rama, añada filtros al workflow:
workflows:
test-api:
jobs:
- api-tests:
filters:
branches:
only:
- main
- develop
Con esta configuración, CircleCI ejecutará api-tests solo en pushes a main y develop.
Usar un Context de CircleCI
Si configuró las variables en un contexto llamado apidog-secrets, referéncielo así:
workflows:
test-api:
jobs:
- api-tests:
context:
- apidog-secrets
El job podrá leer:
$APIDOG_ACCESS_TOKEN
$APIDOG_TEST_SCENARIO_ID
$APIDOG_ENVIRONMENT_ID
Esto evita duplicar secretos en múltiples proyectos. Si rota el token, solo tiene que actualizarlo en el contexto.
Ejecutar pruebas basadas en datos
Apidog CLI también permite ejecutar un escenario usando datos externos con -d.
Ejemplo con CSV:
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
-d ./data/users.csv \
-r cli,junit \
--out-dir ./reports
-d puede recibir:
- Una ruta a un archivo CSV.
- Una ruta a un archivo JSON.
- Un ID numérico de conjunto de datos almacenado.
La guía de pruebas basadas en datos muestra cómo estructurar esos archivos.
Controlar el comportamiento ante errores
Puede ajustar qué hace la CLI cuando encuentra errores con --on-error.
Valores disponibles:
--on-error continue
--on-error end
--on-error ignore
Ejemplo:
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
--on-error end \
-r cli,junit,html \
--out-dir ./reports
Use esta opción según cómo quiera que CI responda ante fallos parciales.
Ejecutar pruebas desde una rama de Apidog
Si su proyecto usa ramas en Apidog, puede apuntar a una rama específica con:
--project <id> --branch <name>
Ejemplo:
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
--project 123456 \
--branch develop \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
-r cli,junit,html \
--out-dir ./reports
Subir resumen del reporte a Apidog
Para enviar un resumen del reporte a la nube de Apidog, añada:
--upload-report
Ejemplo:
apidog run \
--access-token $APIDOG_ACCESS_TOKEN \
-t $APIDOG_TEST_SCENARIO_ID \
-e $APIDOG_ENVIRONMENT_ID \
-r cli,junit,html \
--out-dir ./reports \
--upload-report
Cómo encaja esto en el flujo de trabajo de Apidog
El flujo recomendado es:
- Diseñe el escenario de prueba en Apidog.
- Añada aserciones sobre códigos de estado, headers y cuerpos de respuesta.
- Guarde el escenario.
- Ejecútelo desde CircleCI con
apidog run.
Puede crear y ejecutar escenarios con la CLI o desde el constructor visual. La guía sobre cómo probar una API REST desde la línea de comandos cubre ese flujo.
La ventaja es que CircleCI no necesita conocer la lógica interna de las pruebas. Solo ejecuta el escenario definido en Apidog. Si alguien del equipo añade una aserción en Apidog, la siguiente ejecución de CircleCI la usará sin modificar el YAML.
La separación queda clara:
- Apidog define qué se prueba.
- CircleCI define cuándo y dónde se ejecuta.
Si quiere comparar CircleCI con otros ejecutores de CI para equipos de API, revise esta lista de herramientas de integración continua para equipos de API.
Checklist de implementación
Antes de hacer merge, valide lo siguiente:
- [ ] Existe
.circleci/config.yml. - [ ] El proyecto está habilitado en CircleCI.
- [ ]
APIDOG_ACCESS_TOKENestá configurado como variable segura. - [ ]
APIDOG_TEST_SCENARIO_IDcontiene el ID correcto. - [ ]
APIDOG_ENVIRONMENT_IDapunta al entorno adecuado. - [ ] El comando
apidog rungenera reportes en./reports. - [ ]
store_test_resultsystore_artifactsapuntan al mismo directorio. - [ ] El workflow se ejecuta en las ramas esperadas.
Para empezar, descargue Apidog, cree un escenario de prueba y añada la configuración anterior a su repositorio.
Preguntas Frecuentes
Qué es CircleCI
CircleCI es una plataforma de integración y entrega continua en la nube. Se conecta a su repositorio Git, lee .circleci/config.yml y ejecuta automáticamente pasos de construcción, prueba y despliegue cuando sube código.
Para qué se usa CircleCI
Los equipos usan CircleCI para automatizar tareas como:
- Compilar código.
- Ejecutar pruebas unitarias.
- Ejecutar pruebas de integración.
- Verificar contratos de API.
- Construir imágenes Docker.
- Desplegar a
stagingo producción.
En esta guía, CircleCI ejecuta pruebas de API de Apidog CLI en cada push.
¿Es CircleCI gratuito?
CircleCI ofrece un plan gratuito con una asignación mensual de créditos de compilación, útil para proyectos pequeños y repositorios personales. Los equipos que necesitan más concurrencia, más minutos o máquinas más potentes suelen usar planes de pago. Consulte la página de precios de CircleCI para ver límites actualizados.
¿Es CircleCI de código abierto?
No. CircleCI es un producto comercial alojado. Se configura con YAML y puede ejecutarse en infraestructura de CircleCI o mediante runners autoalojados.
Si necesita un servidor CI de código abierto, Jenkins es una alternativa común. Puede revisar la comparación CircleCI vs Jenkins mencionada al inicio.
¿Cómo funciona CircleCI?
Cuando hace un commit, CircleCI detecta el cambio, lee .circleci/config.yml y crea un pipeline. Luego inicia el executor definido, por ejemplo un contenedor Docker cimg/node, y ejecuta los steps de cada job en orden.
Los workflows permiten encadenar jobs, ejecutarlos en paralelo y aplicar filtros por rama. Para una visión más amplia del concepto, consulte la guía Qué es CI/CD.
Top comments (0)