Ejecutar pruebas en su pipeline

El ejecutor de línea de comandos, los resultados que lee su herramienta de CI y ejemplos listos para usar.

Una prueba, cualquier pipeline

gtr-cli, el ejecutor de línea de comandos, ejecuta una prueba exactamente igual que el botón Ejecutar prueba: las mismas comprobaciones, el mismo informe, el mismo historial.Añade lo que necesita un pipeline: un código de salida, archivos de resultados que su herramienta de CI entiende, y todas las evidencias de un fallo en una sola carpeta.

Su pipeline

y cualquier herramienta que ejecute un comando

.github/workflows/gui-tests.yml
jobs:  gui-tests:    runs-on: [self-hosted, windows]    steps:      - run: gtr-cli run tests --format github --junit results.xml

Ejecutando 12 pruebas en la pantalla del agente de compilación...

PASSED 12 de 12 pruebas · exit code 0

  • Código de salida0 cuando todas las pruebas se superan, 1 cuando una falla: la compilación pasa a verde o a rojo.
  • JUnit, JSON, MarkdownResultados que su pipeline muestra como resultados de pruebas, con cada paso nombrado.
  • Las evidencias de cada falloLas imágenes esperada y real, la pantalla, el informe y el vídeo en una sola carpeta.

Preparar la máquina de compilación

Una prueba de GUI se reproduce en una pantalla real, así que la máquina que la ejecuta necesita una.

NecesitaPor qué
Windows con GUI Test Studio instaladoEl instalador añade gtr-cli al PATH.
Una sesión de escritorio iniciada y desbloqueadaLa prueba hace clic y escribe en la pantalla real.Ejecute el agente de compilación como un programa normal en esa sesión, no como un servicio en segundo plano.
La resolución de pantalla y la escala de las pruebasLos elementos se comparan con el tamaño con el que se grabaron.
La aplicación que se pruebaInstalada, o iniciada por la propia prueba con un paso Ejecutar aplicación.
Un puesto de su planEl agente inicia sesión una vez, con una clave de máquina de su página de cuenta.

Cree la clave en su página de cuenta, en Claves de máquina, y ejecute esto una vez en el agente, con la cuenta de Windows que usa el pipeline:

Comando
gtr-cli login --key GTS-XXXX-XXXX-XXXX-XXXX

gtr-cli whoami indica si el agente tiene la sesión iniciada y hasta cuándo.Sin sesión, una ejecución no empieza: muestra una línea que empieza por COULD NOT RUN y termina con el código de salida 3.

Agentes de compilación: claves de máquina

Su primer comando

En un terminal de la máquina de compilación, ejecute todas las pruebas de una carpeta:

Comando
gtr-cli run tests --countdown 0 --junit results\junit.xml --artifacts results\artifacts

--countdown 0 empieza de inmediato (no hay nadie ante la pantalla), --junit escribe el archivo de resultados que lee su herramienta de CI, y --artifacts reúne los vídeos, los informes y las imágenes de los fallos en una sola carpeta.

¿Está lista esta máquina?Revisa cada prueba sin ejecutarla
gtr-cli check tests

Lo que recibe su pipeline

Código de salidaSignificado
0Todas las pruebas se superaron.La compilación se pone en verde.
1Falló al menos una prueba.
2El comando era incorrecto: una opción desconocida, un archivo que falta.
3Una prueba no se pudo ejecutar, por ejemplo porque la pantalla es distinta de la de la grabación.
4Se abortó una ejecución.
ArchivoPara
JUnit (--junit)La pestaña de resultados de pruebas de GitLab, Jenkins, Azure DevOps, TeamCity y GitHub
Resumen en Markdown (--summary)Un comentario en una solicitud de fusión o la página de resumen de la compilación
JSON (--json)Sus propios paneles y scripts
Carpeta de artefactos (--artifacts)El vídeo, el Informe de confianza y las imágenes de los fallos de cada prueba
Informes de defecto (--bug-report pdf)Un informe de defecto ya rellenado por cada prueba fallida

Las ejecuciones también quedan en la carpeta de resultados de cada prueba, así que el Historial de GUI Test Runner-Recorder muestra las ejecuciones del pipeline junto a las suyas.

Ejemplos listos para usar

.github/workflows/gui-tests.yml
jobs:
  gui-tests:
    runs-on: [self-hosted, windows]
    steps:
      - uses: actions/checkout@v4
      - run: gtr-cli run tests --countdown 0 --format github --junit results\junit.xml --summary results\summary.md --artifacts results\artifacts
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: gui-test-results
          path: results

Componer un comando sin escribirlo

En cualquiera de las dos aplicaciones, Línea de comandos y CI/CD (en el menú Archivo de GUI Test Studio, en el menú Prueba de GUI Test Runner-Recorder) compone el comando por usted: marque las opciones que quiera, copie el resultado, o copie el fragmento ya preparado para su herramienta de CI con sus rutas reales.Su pestaña Referencia explica cada opción.

Opciones que usará

OpciónQué hace
--countdown 0Empezar de inmediato.En un terminal, la cuenta atrás predeterminada le da tiempo para soltar el ratón.
--retries 1Ejecutar una vez más una prueba fallida antes de darla por fallida.
--fail-fastDetenerse tras la primera prueba fallida.
--timeout 600Abortar una prueba que sigue en ejecución a los 10 minutos.
--baseline-profile "Dark mode"Ejecutar con uno de sus perfiles de línea base.
--start-at 12.5Empezar la prueba en este momento, en segundos.
--branch allPara una prueba web hecha para varios navegadores y dispositivos: ejecutar todos, incluida la prueba grabada.Indique uno o varios en su lugar para ejecutar solo esos.
--headless onEjecutar las pruebas web sin ventana del navegador siempre que la prueba lo permita.
--parallel offEjecutar los navegadores y dispositivos de una prueba uno tras otro en lugar de en paralelo.
--screen allEn una máquina de compilación con varios monitores: ejecutar en todos, en el principal, en el número de un monitor, en la pantalla del terminal, o donde se grabó la prueba.Por defecto, la pantalla que indica la Configuración del proyecto de la prueba: la pantalla del terminal, salvo que indique otra.
--run-banner offOcultar la fina banda PRUEBA EN EJECUCIÓN en la parte superior de la pantalla durante la ejecución.
--ai-verification onDejar que la IA dé el veredicto final de las comprobaciones visuales y de texto fallidas.El veredicto de la prueba y el código de salida se ajustan a él, y lo que cambió se escribe en la consola y en los archivos de resultados.
--ai-provider builtinUsar un modelo en la propia máquina de compilación: nada que instalar, y un modelo que falta se descarga una sola vez.
--ai-minor-differences failHacer que falle una comprobación en la que la IA solo encuentra diferencias menores.De forma predeterminada se supera.
--ai-wait 600Lo máximo que una prueba espera sus veredictos de la IA, en segundos.De forma predeterminada la herramienta lo elige sola.
Todas las opciones, explicadas
gtr-cli help

Notificar los fallos a Jira

Una prueba fallida puede convertirse por sí sola en una incidencia de Jira: los pasos para reproducir, las imágenes esperada y encontrada con lo que cambió resaltado, el informe de defecto en PDF y las evidencias.El mismo defecto visto de nuevo, en otra compilación, navegador o dispositivo, añade un comentario a su incidencia abierta en lugar de crear una segunda.

Comando
gtr-cli run tests --countdown 0 --jira on-failure --jira-project SCRUM --jira-labels ui-regression
OpciónQué hace
--jira on-failureCrear una incidencia de Jira por cada prueba fallida.Una prueba que no se pudo ejecutar nunca se convierte en una.
--jira-project SCRUMEl proyecto al que van las incidencias, por su clave.
--jira-issue-type BugEl tipo de incidencia.Cuando el proyecto no tiene ninguno con ese nombre, se usa el más cercano.
--jira-assignee "James"A quién se asigna la incidencia: un correo electrónico o el nombre de una de las personas del proyecto.
--jira-labels a,bEtiquetas propias, separadas por comas.
--jira-repeat newSiempre una incidencia nueva, nunca un comentario en la que está abierta.

La conexión procede del entorno, así que el token nunca aparece en una línea de comandos ni en un registro de compilación: JIRA_BASE_URL (su sitio de Jira), JIRA_USER_EMAIL y JIRA_API_TOKEN.En su herramienta de CI, guarde el token como un secreto o un parámetro de contraseña.En un equipo en el que GUI Test Runner-Recorder está conectado a Jira, se usa en su lugar la conexión guardada.

El flujo completo, con una incidencia real y un build real: Conectar Jira al informe de confianza.

Aplicaciones web en una máquina de compilación

Una prueba grabada en una aplicación web abre su navegador por sí misma, en modo kiosco a pantalla completa, y lo cierra al final.En una máquina de compilación eso requiere el tamaño de pantalla y la escala de la grabación, un escritorio con sesión iniciada y desbloqueado, y una ejecución que termine por su propio límite de tiempo.Abrir aplicación web explica qué ocurre en caso contrario y qué hacer.

Las mismas notas están en la propia herramienta:

Comando
gtr-cli help web-apps

Todos los navegadores y dispositivos, en el pipeline

Una prueba web hecha para varios navegadores y dispositivos los ejecuta todos con --branch all, cada uno con su propia entrada en el archivo JUnit y su propio historial.Los teléfonos, las tabletas y las demás ramas sin ventana se ejecutan en paralelo, así que no necesitan una pantalla propia.gtr-cli info muestra el nombre de cada una, y gtr-cli generate hace las que aún faltan.Consulte Cada navegador y cada dispositivo a partir de una sola grabación.

Comando
gtr-cli generate tests --branch missing
gtr-cli run tests --branch all --countdown 0 --junit results\junit.xml

Compartir pruebas sin su grabación

Un archivo de prueba contiene su grabación, que usted necesita para editar pero no para ejecutar.Archivo, Exportar como prueba ligera de ejecutor (.GTR) en GUI Test Studio escribe la misma prueba sin ella: un archivo mucho más pequeño para una máquina de compilación o para un compañero que solo ejecuta pruebas. gtr-cli y GUI Test Runner-Recorder ejecutan los archivos .GTR como cualquier prueba.

Prueba (.GTS)Prueba de ejecutor (.GTR)
ContieneLos pasos, las comprobaciones y la referencia visual: la grabación, las imágenes y los diseñosSolo los pasos y las comprobaciones
Hecho paraCrear y editar la pruebaEjecutar la prueba
TamañoMayor: crece con la grabaciónMucho menor
Se abre enGUI Test Studio y GUI Test Runner-RecorderGUI Test Runner-Recorder y gtr-cli

Cuándo usar una prueba de ejecutor

Úsela allí donde una prueba solo se ejecuta: una máquina de compilación, el ordenador de un tester, un conjunto de pruebas que tiene que viajar o guardarse con su código.La ejecución de una prueba de ejecutor da el mismo resultado y el mismo informe que su prueba.

Conserve la prueba original

Una prueba de ejecutor no se puede editar: GUI Test Studio no la abre.Conserve el .GTS como original, edítelo ahí y exporte de nuevo después de un cambio.GUI Test Runner-Recorder también puede exportar una, desde su menú Prueba o con el botón de exportar de la página de la prueba.

Una prueba web con varios navegadores y dispositivos

La exportación pregunta qué incluir.Todos los navegadores y dispositivos pone todas las ramas generadas en un solo archivo, listo para --branch all.Solo la grabación, o solo la rama que se muestra, crea una prueba de ejecutor solo de esa.Una prueba de ejecutor solo se puede ejecutar: los navegadores y dispositivos nuevos se hacen a partir del .GTS.

Guardar las pruebas con su código

Las pruebas son archivos corrientes: guárdelas en su repositorio junto al código que prueban, y cada rama llevará las pruebas que le corresponden.

¿Sigue con problemas?Díganos qué intentaba hacer, y respondemos en un día laborable.Ask our team