CLI
La CLI de Probara, @probara/cli, envía a Probara desde cualquier CI los informes JUnit XML y Cucumber JSON que tu
framework de pruebas ya genera, y sincroniza los escenarios de tus archivos .feature. Cada importación crea una ejecución automatizada, vincula cada
prueba con su caso de prueba (y crea los casos que aún no existen), registra los resultados, sube
los archivos a los que apunta el informe y cierra la ejecución.
La CLI es de código abierto y está en el repositorio probara-sdk, que documenta cada comando, cada opción y cada sistema de CI. Esta página cubre lo que configuras en Probara. Para compararla con los reporters de Playwright, Jest, Cypress, Vitest y Cucumber, consulta Integraciones CI.
Antes de empezar
Sección titulada «Antes de empezar»| Necesitas | Por qué |
|---|---|
| Un plan de pago (Pro o Enterprise, o una prueba Pro) | El envío de resultados desde CI y la sincronización de archivos .feature no forman parte del plan Free. En Free, Probara responde 403 forbidden. |
| Un propietario o administrador de Probara | Solo los propietarios y administradores crean y revocan tokens de aplicación. |
| El ID del Proyecto al que enviar los resultados | Por ejemplo SHOP. La CLI lo lee de PROBARA_PROJECT. |
1. Crea un token de aplicación
Sección titulada «1. Crea un token de aplicación»La CLI se autentica con un token de aplicación: un token que pertenece a tu organización, no a una persona, así que sigue funcionando cuando alguien se va.
- En Workspace → Integraciones, selecciona la tarjeta JUnit XML, o la tarjeta Cucumber para la sincronización Gherkin y los resultados de Cucumber.
- Abre la pestaña Tokens de acceso y selecciona Crear un token de aplicación.
- Escribe un Nombre del token — ponle el nombre de lo que lo usa, como el repositorio o el pipeline — y selecciona Crear token.
- Copia el token desde Copia tu nuevo token. Empieza por
probara_app_, y es la única vez que Probara lo muestra.
2. Guárdalo en tu CI
Sección titulada «2. Guárdalo en tu CI»Guarda el token como un secreto de CI llamado PROBARA_API_TOKEN (en GitHub Actions: Settings →
Secrets and variables → Actions). La CLI solo lee el token de esa variable; no tiene opción
--token, así que el token nunca aparece en una lista de procesos ni en un registro. El ID del
Proyecto no es un secreto.
3. Añade el paso
Sección titulada «3. Añade el paso»Añade este paso de GitHub Actions después de tus pruebas, sustituye
<PROJECT_CODE> por el ID del Proyecto y apunta la ruta al archivo que genera tu framework:
- name: Report to Probara if: always() run: npx @probara/cli import junit reports/junit.xml env: PROBARA_API_TOKEN: ${{ secrets.PROBARA_API_TOKEN }} PROBARA_PROJECT: <PROJECT_CODE>if: always() envía el informe también cuando las pruebas fallan. Para GitLab CI, Jenkins,
CircleCI, Azure Pipelines, Bitbucket Pipelines, Buildkite y jobs en paralelo, sigue las
guías de CI (en inglés).
Sincronizar archivos .feature
Sección titulada «Sincronizar archivos .feature»Git puede ser la fuente de verdad de tus casos Gherkin. probara sync gherkin hace que los casos
sincronizados de un proyecto coincidan con los escenarios de tus archivos .feature: un escenario
nuevo crea un caso, uno modificado lo actualiza y uno eliminado lo archiva. Ejecútalo en tu rama
principal, después del checkout:
- name: Sync the feature files to Probara run: npx @probara/cli sync gherkin "features/**/*.feature" env: PROBARA_API_TOKEN: ${{ secrets.PROBARA_API_TOKEN }} PROBARA_PROJECT: <PROJECT_CODE>Pon el patrón entre comillas y ejecuta el comando desde la raíz del repositorio. La
guía de sincronización explica cómo se convierte cada
escenario en un caso, cómo funcionan los movimientos y los vínculos, y qué puede archivar una
sincronización. La referencia de comandos
(en inglés) enumera todas las opciones, como --dry-run, --file-url y --suite-ulid.
Importar resultados de Cucumber
Sección titulada «Importar resultados de Cucumber»probara import cucumber envía los resultados de un informe JSON de Cucumber. Cada escenario se
convierte en un resultado de su caso sincronizado, cada fila de un Scenario Outline es un resultado
propio y cada paso es un paso de resultado con su palabra clave. Úsalo para los informes de Cucumber-JVM,
playwright-bdd y otras herramientas que generan Cucumber JSON.
Para cucumber-js, el reporter de Cucumber es la mejor opción: envía cada escenario al final de la ejecución, con los archivos que adjuntan sus pasos, y no necesita ningún archivo JSON. Ambos leen las mismas claves, así que cualquiera de los dos llega a los mismos casos:
npx cucumber-js --format json:results/cucumber.jsonnpx @probara/cli import cucumber results/cucumber.jsonEl comando lee el JSON de Cucumber que cucumber-js escribe con --format json. Probara se ha probado
con cucumber-js 13. Cucumber-JVM y playwright-bdd escriben el mismo formato, que Probara no ha
probado. Reqnroll, que no escribe JSON de Cucumber, y Behave no son compatibles. Los adjuntos del
informe no se envían. Mantén los archivos .feature en el checkout: un resultado encuentra su caso
a través de la ruta de su archivo. La
referencia de Gherkin
(en inglés) explica las claves y el estado de cada resultado.
Qué puede hacer el token
Sección titulada «Qué puede hacer el token»Un token de aplicación solo puede hacer lo que hace la CLI: crear ejecuciones automatizadas, enviar
informes (que pueden crear casos de prueba y suites), añadir adjuntos a sus resultados, cerrar
ejecuciones, sincronizar archivos .feature (que crean, actualizan y archivan casos sincronizados)
y, para los reporters de frameworks, leer las claves de casos de una ejecución. Cualquier otra
llamada responde 403 forbidden — consulta las
llamadas exactas.
- Las ejecuciones, los resultados y los adjuntos que envía muestran su tarjeta, JUnit XML o Cucumber, y el nombre del token, no una persona.
- No ocupa ningún puesto y sobrevive a la persona que lo creó. Revócalo desde la misma tarjeta, y crea otro, cuando pueda haberse filtrado o cuando alguien que podía leer el secreto deje tu equipo.
- Si tu organización pasa al plan Free, Probara conserva el token pero lo rechaza; vuelve a funcionar cuando la organización vuelve a un plan de pago.
- Un token API personal también funciona con un plan de pago, pero actúa con los permisos de su usuario y deja de funcionar cuando ese usuario se va. En CI, usa un token de aplicación.
Cuando Probara rechaza el token
Sección titulada «Cuando Probara rechaza el token»| Respuesta | Qué revisar |
|---|---|
401 unauthorized | El token se revocó, o PROBARA_API_TOKEN falta o contiene otra cosa. Crea un token nuevo y vuelve a guardarlo. |
403 forbidden | La organización está en el plan Free, o el token se usó para algo distinto de las llamadas de la CLI. |
La guía de solución de problemas de la CLI (en inglés) cubre el resto, incluidos los errores del informe y de red.