Cómo añadir ramificación If/Else y control de flujo a escenarios de prueba de API en Apidog

Añadir ramificación condicional if/else y control de flujo a los escenarios de prueba de API en Apidog para que una ejecución se ramifique según una respuesta anterior, además de la automatización por CLI.

Ashley Innocent

Ashley Innocent

15 July 2026

Cómo añadir ramificación If/Else y control de flujo a escenarios de prueba de API en Apidog

Apidog para empresas

Despliegue local

SSO & RBAC

Conforme con SOC 2

Explorar Apidog Enterprise

La mayoría de las pruebas de API se ejecutan de forma lineal. Llaman al inicio de sesión, llaman al proceso de compra, llaman al endpoint de recibo y afirman los resultados a lo largo del camino. Esto funciona hasta que un paso puede fallar de una manera que el siguiente paso depende de él. Si el inicio de sesión devuelve un 401, ejecutar la solicitud de proceso de compra es inútil. Peor aún, oculta el fallo real detrás de un segundo fallo engañoso. Lo que se desea es una prueba que lea la respuesta de inicio de sesión, decida si continuar y reporte la verdad sobre dónde se rompió todo.

Esa decisión es lógica condicional, y se construye con control de flujo. Esta guía le muestra cómo agregar bifurcaciones if/else a un escenario de prueba de API en Apidog para que una ejecución pueda bifurcarse en función de una respuesta anterior. Construirá un escenario real: iniciar sesión, verificar el código de estado y solo proceder al proceso de compra cuando el inicio de sesión haya funcionado realmente. Si es nuevo en los escenarios de Apidog, la guía sobre cómo escribir un escenario de prueba con Apidog cubre los conceptos básicos lineales sobre los que se basa este artículo. Para una definición del patrón de bifurcación en sí, la guía de MDN sobre sentencias condicionales es una buena introducción. Puede descargar Apidog y seguir los pasos de forma gratuita.

botón

Qué es el control de flujo y qué no es

En Apidog, las pruebas automatizadas residen en el módulo de Pruebas. La unidad con la que se trabaja es un Escenario de Prueba, que la documentación describe como análogo a una Colección en Postman. Dentro de un escenario, se organizan los Pasos de Prueba: cada paso es una solicitud individual o un elemento de control de flujo como una bifurcación, un bucle o un retraso.

El control de flujo es el conjunto de elementos de control de flujo. Permite que un escenario haga más que simplemente avanzar por las solicitudes en orden. La documentación de Apidog sobre control de flujo y bifurcación condicional es la referencia detrás de cada etiqueta utilizada aquí. El que este artículo enfoca es la Bifurcación Condicional, que es el nombre de Apidog para if/else. Una bifurcación lee un valor que se le proporciona, prueba ese valor contra una condición y ejecuta un conjunto de pasos cuando la condición se cumple y otro conjunto cuando no.

Una aclaración inicial, porque los dos se confunden. La bifurcación no es un bucle. Una bifurcación decide una vez si un bloque de pasos se ejecuta. Un bucle ejecuta un bloque muchas veces. Apidog tiene características separadas para la iteración, llamadas For Loops y ForEach Loops, y pertenecen a un problema diferente: repetir la misma solicitud en un rango o a través de los elementos de un array. Si necesita recorrer un array de IDs de pedido, eso es un bucle ForEach, cubierto en el tutorial de bucle ForEach, no una bifurcación. Esta guía se centra en if/else.

La documentación de Apidog no menciona ninguna restricción de versión gratuita o de pago para el control de flujo, la bifurcación condicional, los bucles o el paso de datos entre pasos. Tampoco se hace distinción entre la nube y la autoalojada para estas características. Si puede construir un escenario, puede añadirle una bifurcación.

Construya un escenario que se bifurque en función de la respuesta de inicio de sesión

Aquí está el objetivo. Un usuario inicia sesión. Si el endpoint de inicio de sesión devuelve un 200, el escenario procede a crear un proceso de compra. Si devuelve cualquier otra cosa, el escenario se detiene e informa del fallo en lugar de simular que el proceso de compra se ejecutó.

Paso 1: crear el escenario de prueba

Abra Apidog y vaya al módulo Pruebas. Haga clic en el + junto a la barra de búsqueda para crear un nuevo Escenario de Prueba, elija el directorio donde debe residir y establezca una prioridad para finalizar la creación. Ahora tiene un escenario vacío listo para los pasos.

Paso 2: añadir la solicitud de inicio de sesión como primer paso

Añada su primer Paso de Prueba. Apidog le ofrece varias formas de introducir una solicitud: importarla de una especificación de endpoint existente, importarla de un caso de endpoint guardado, añadir una solicitud personalizada directamente o añadir una desde una cadena cURL. Para un inicio rápido, añada una solicitud personalizada. Establézcala como POST y apúntela a su endpoint de autenticación con un cuerpo JSON:

POST https://api.your-store.com/v1/login
Content-Type: application/json

{
  "email": "dana@example.com",
  "password": "correct-horse-battery-staple"
}

Ejecute este paso una vez por sí solo para confirmar que devuelve lo que espera. Un buen inicio de sesión devuelve un 200 y un token en el cuerpo, algo como:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userId": "usr_10482"
}

Paso 3: entrar en modo de orquestación

Haga clic en cualquier paso para entrar en el modo de orquestación. El panel izquierdo muestra el flujo general del escenario; el panel derecho muestra los detalles del paso que haya seleccionado. Esta vista dividida es donde se organiza la bifurcación. Si alguna vez necesita reordenar pasos, arrastre el icono de un paso para moverlo.

Paso 4: añadir la bifurcación condicional

Haga clic en el botón Añadir Paso. Esta es la forma principal de insertar cualquier elemento de control de flujo. Desde el menú, elija Bifurcación Condicional. Esto crea una sentencia If, una bifurcación vacía esperando una condición y algunos pasos para ejecutar.

Ahora construya la condición. Debe introducir el código de estado de la respuesta de inicio de sesión en la bifurcación. Apidog construye condiciones a partir de un conjunto fijo de operadores de juicio. La lista completa es: Igual a, No es igual a, Existe, No existe, Menor que, Menor o igual que, Mayor que, Mayor o igual que, Coincide con Regex, Contiene, No contiene, Está vacío, No está vacío, En la lista, y No en la lista.

Para esta bifurcación, desea que el código de estado de inicio de sesión sea igual a 200. Así que la condición se lee: el estado de la respuesta de inicio de sesión Es igual a 200.

Paso 5: referenciar la respuesta anterior en la condición

Para introducir el resultado del inicio de sesión en el campo de condición, tiene dos métodos.

El primer método no necesita configuración. Haga clic en el campo de valor de la condición y luego en el icono de la varita mágica, seleccione Recuperar datos de paso previo. Apidog le permite apuntar directamente al paso de inicio de sesión anterior y extraer un valor de su respuesta. Internamente, esto utiliza una referencia de paso previo con la sintaxis {{$.<step id>.response.body.<field path>}}. Si quisiera el token del cuerpo del inicio de sesión en lugar del estado, por ejemplo, referenciaría {{$.1.response.body.token}}, donde 1 es el ID del paso de inicio de sesión.

Dos cosas a saber sobre Recuperar datos de paso previo. Funciona solo en el módulo Pruebas, no en el módulo APIs. Y se resuelve solo cuando ejecuta todo el escenario, no cuando ejecuta un solo paso de forma aislada. Si una referencia de paso previo parece vacía durante una ejecución individual, es lo esperado; ejecute el escenario completo y se rellenará.

El segundo método utiliza una variable con nombre y funciona tanto en el módulo Pruebas como en el módulo APIs. En la solicitud de inicio de sesión, abra sus post-procesadores y añada una acción de Extraer Variable. Extraiga el campo que le interesa con una expresión JSONPath, por ejemplo $.token, y Apidog lo almacena bajo un nombre. Luego puede referenciarlo en cualquier lugar como {{token}}. Este es el enfoque más portable cuando desea que el mismo valor esté disponible en diferentes módulos o en varias bifurcaciones. La mecánica más profunda de mover valores entre pasos se cubre en la guía sobre cómo pasar datos entre pasos de prueba.

Para la bifurcación de código de estado, Recuperar datos de paso previo en el estado del paso de inicio de sesión es la ruta más corta.

Paso 6: añadir la bifurcación else

Pase el ratón sobre el bloque If y haga clic en + Else. Esto le da la ruta alternativa que se ejecuta cuando la condición es falsa, lo que significa que el inicio de sesión no devolvió 200.

Su escenario ahora se lee como lógica sencilla: si el inicio de sesión es igual a 200, ejecute el proceso de compra; de lo contrario, informe y deténgase.

Paso 7: guardar

Haga clic en Guardar todo para guardar el escenario. Los cambios no guardados muestran un indicador de punto, así que si ve ese punto, aún tiene trabajo por escribir. Ejecute el escenario completo y observe cómo se resuelve la bifurcación. Apunte el inicio de sesión a credenciales válidas y el bloque If se activará. Apúntelo a credenciales incorrectas y el bloque Else se activará en su lugar.

Variaciones y control de flujo avanzado

Una vez que la bifurcación básica funciona, los mismos bloques de construcción cubren mucho terreno.

Una nota sobre la autorreferencia: un escenario no puede referenciar el escenario de prueba original en sí mismo. Esa protección evita bucles infinitos accidentales cuando se anidan escenarios.

Automatizar el flujo de trabajo con la CLI de Apidog

El escenario que acaba de construir no tiene por qué ejecutarse solo dentro de la aplicación. Apidog incluye un ejecutor de línea de comandos que ejecuta escenarios guardados sin interfaz gráfica (headless), que es exactamente lo que se desea en CI. Instálelo e inicie sesión:

npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>

Luego ejecute su escenario de bifurcación por ID, apuntándolo a un entorno y eligiendo un reportero:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t <scenario_id> -e <env_id> -r cli

Aquí -t es el ID del escenario de prueba, -e es el ID del entorno y -r es el reportero. Use cli para la salida de la consola, o html y junit para los artefactos que su pipeline puede publicar; sepárelos con comas como -r html,cli para emitir varios a la vez. La bifurcación se resuelve de la misma manera que en la aplicación: el ejecutor lee la respuesta de inicio de sesión, toma la ruta If o Else, y el código de salida refleja el resultado, de modo que un inicio de sesión fallido falla la compilación. La configuración completa se encuentra en la guía de instalación de la CLI de Apidog, y la integración en un pipeline se cubre en la guía de Acciones de GitHub de la CLI de Apidog. Si prefiere ejecutar el mismo escenario en un temporizador en lugar de en cada commit, vea cómo programar pruebas de API en Apidog.

Preguntas Frecuentes

¿Cuál es la diferencia entre la bifurcación condicional y un bucle en Apidog?

La bifurcación condicional decide una vez si un bloque de pasos se ejecuta, basándose en una condición. Un bucle ejecuta un bloque repetidamente. Use una bifurcación cuando tenga una decisión de "o esto o aquello", como proceder al proceso de compra solo si el inicio de sesión fue exitoso. Use un bucle For o ForEach cuando necesite repetir una solicitud a través de un recuento o un array. El tutorial del bucle ForEach cubre la iteración en su totalidad.

¿Por qué mi referencia a Recuperar datos de paso previo aparece vacía?

Dos causas comunes. Primero, Recuperar datos de paso previo funciona solo en el módulo Pruebas, no en el módulo APIs. Segundo, se resuelve solo cuando ejecuta todo el escenario de prueba. Si ejecuta un solo paso de forma aislada, la referencia aún no tiene nada a lo que apuntar. Ejecute el escenario completo y el valor se rellenará.

¿Puedo bifurcarme en un campo dentro del cuerpo de la respuesta, no solo en el código de estado?

Sí. Referencie el campo con una expresión de paso previo como {{$.1.response.body.status}} o extráigalo en una variable con nombre, luego elija un operador como Es igual a, Contiene o En la lista. Cualquier valor que pueda referenciar puede impulsar una condición. El movimiento de esos valores se cubre en cómo pasar datos entre pasos de prueba.

¿Cómo uso una variable dentro de un script en lugar de un constructor de condiciones?

Los scripts no aceptan la sintaxis {{variable}}. Use pm.variables.get("$.2.response.body.token") en un script pre-procesador o post-procesador, haciendo coincidir el ID del paso y la ruta del campo que desee.

¿La bifurcación tiene un costo adicional o requiere la versión autoalojada?

La documentación de Apidog no menciona ninguna restricción de plan para el control de flujo, la bifurcación condicional, los bucles o el paso de datos, y no hay distinción entre la versión en la nube y la autoalojada para estas características. Si puede construir un escenario, puede añadirle bifurcaciones.

Conclusión

Una prueba lineal le indica que algo falló. Una prueba con bifurcaciones le dice dónde, y evita desperdiciar pasos en una ruta que ya no puede tener éxito. Añada un paso de Bifurcación Condicional, aliméntelo con una respuesta previa usando Recuperar datos de paso previo o una variable extraída, configure el If y el + Else, y su escenario ahora tomará decisiones de la misma manera que lo hace su API real. Cuando funciona en la aplicación, un comando apidog run lleva la misma lógica a CI. Pruebe Apidog gratis, sin necesidad de tarjeta de crédito, y convierta sus pruebas lineales en escenarios que piensan.

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs