Documentación · Guías

Repositorio de pruebas

Árbol de suites

  • Suites anidadas en la barra lateral.
  • + Nueva suite abre un único diálogo con selector de Suite padre (obligatorio). El valor por defecto es Raíz del proyecto; puedes elegir cualquier suite del árbol antes de guardar. El menú de acciones de una suite también abre el mismo diálogo con esa suite preseleccionada como padre.
  • Editar suite (menú de acciones de una suite o icono de edición en la barra de ruta) permite cambiar el nombre, la descripción y la suite padre. La descripción de una suite admite formato e imágenes y se muestra al principio de la suite. El selector se inicializa con el padre actual (o Raíz del proyecto si la suite es raíz). No puedes elegir la suite que editas ni ninguna de sus descendientes; el backend rechaza ciclos si el árbol cambió mientras el diálogo estaba abierto.

Contraer barras de navegación (escritorio)

En escritorio, cada columna de navegación tiene su propio control de contracción. El estado se guarda en el navegador y se restaura al recargar.

  • La barra lateral del proyecto (nombre, enlaces de Tests, Ajustes) se contrae a una mini-barra solo con iconos (~3,5 rem). Pasa el cursor o enfoca con teclado un icono para ver la etiqueta en un tooltip.
  • El árbol de suites (esta columna) no tiene iconos por suite, así que se contrae a una franja fina con un control de expandir, no a una mini-barra. La columna sigue montada para que el diseño no salte.
  • Contraer una barra no afecta a las demás: puedes ocultar la barra del proyecto y dejar el árbol de suites abierto, o al revés.

Para contraer la barra del proyecto, del workspace o de usuario, pasa el cursor sobre ella y haz clic en el botón circular con chevron de su borde derecho; el botón sigue visible mientras la barra está contraída, así que vuelve a hacer clic para recuperar la columna completa. Con el teclado, pulsa [ para contraer o expandir la barra, o llega al botón con Tab: es la primera parada de la barra. El árbol de suites se contrae con el chevron de su cabecera y se abre con su control de expandir.

En una pantalla angosta (ancho de teléfono) el repositorio presenta un panel a la vez en lugar del árbol de suites, la lista de casos y el panel de detalle uno junto a otro como en escritorio: la lista de suites, luego la lista de casos de una suite, luego el detalle de un caso — cada uno se alcanza tocando el elemento anterior. Un botón Volver visible (con el nombre de la suite de origen, no solo una flecha) regresa al panel anterior, y funciona igual incluso al abrir un caso directamente desde un enlace compartido o un marcador. En una pantalla de tablet, el árbol de suites y la lista de casos permanecen uno junto al otro, y el detalle del caso se abre como un panel superpuesto.

Casos de prueba

  • Creación rápida o editor completo.
  • Panel de detalle con Propiedades y Pasos. Su sección Parámetros muestra los parámetros del caso; selecciona Editar para cambiarlos en el mismo lugar, como con los pasos.

URLs compartibles (display IDs)

El navegador usa display IDs legibles en lugar de ULIDs internos en los enlaces del repositorio:

  • Suite en la ruta: /projects/{códigoProyecto}/suites/{códigoProyecto}-S{númeroSuite} (por ejemplo /projects/ACME/suites/ACME-S2).
  • Caso en la query: ?case={códigoProyecto}-{númeroCaso} (por ejemplo ?case=ACME-14).

El enlace a un caso abierto es /projects/{códigoProyecto}?case={códigoProyecto}-{númeroCaso} (por ejemplo /projects/ACME?case=ACME-14): la misma forma para todos los casos, pertenezcan o no a una suite. Al copiarlo, pegarlo o recargarlo, el repositorio vuelve con el panel de detalle de ese caso abierto y resalta la suite a la que pertenece, desplazándose hasta ella (o hasta Casos sin suite).

Abrir un caso nunca cambia la ruta en la que estás. Mientras navegas una suite en /projects/ACME/suites/ACME-S2, abrir un caso solo agrega ?case=, de modo que la suite sigue a la vista y se puede compartir por sí misma. La búsqueda y los filtros activos en la URL también se conservan.

Los enlaces antiguos que llevan la suite en la ruta — /projects/ACME/suites/ACME-S2?case=ACME-14, o /projects/ACME/unassigned?case=ACME-14 para un caso sin suite — siguen abriendo el caso correcto. Simplemente ya no son la forma que genera la aplicación.

Los display IDs inválidos o inexistentes se manejan sin ruido: suites desconocidas muestran página no encontrada; un ?case= desconocido deja el panel cerrado sin toasts de error.

  • Título, descripción, suite y pasos se editan en el editor; la clasificación (prioridad, severidad, estado, tipo, capa, comportamiento, “is flaky” y los campos personalizados de la organización) se renderiza dinámicamente según los campos visibles para el proyecto y se persiste mediante el endpoint dedicado de custom-field-values.

Secciones del editor

El editor agrupa los inputs en hasta cinco secciones, en este orden:

  1. Identificación y clasificación — título, descripción, suite, milestone y los campos enum/checkbox de sistema (prioridad, severidad, estado, tipo, capa, comportamiento, is flaky) en el orden del producto.
  2. Campos personalizados — campos personalizados de la organización aplicables al proyecto. La sección no se muestra cuando el proyecto no tiene campos personalizados visibles.
  3. Incidencias de Jira e Issues de GitHub — las incidencias vinculadas al caso, al editar un caso existente. Cada una aparece solo mientras su integración está activa: Jira cuando tu plan incluye integraciones y el proyecto tiene un proyecto de Jira vinculado, GitHub cuando tu plan incluye integraciones y hay una cuenta de GitHub conectada. Los vínculos que agregas o quitas aquí se aplican al momento, sin Guardar.
  4. Pre y post — precondiciones y postcondiciones. Cada una admite formato e imágenes: pega o suelta una imagen en ella, o teclea / y elige Imagen. La sección colapsa cuando ambas están fuera de alcance. Cuando solo una es visible, el título de la sección se adapta (por ejemplo Precondiciones).
  5. Secuencia de ejecución — los pasos manuales del caso (siempre visible).

La sección Parámetros contiene los parámetros del caso, y Revisar combinaciones muestra las combinaciones que producen. Un ${nombre} que escribas en un título o en un paso debe coincidir con uno de ellos, y el editor nombra cada marcador que no coincida con ningún parámetro ni grupo de configuración. Consulta Casos de prueba parametrizados.

Al guardar se ejecuta un POST /api/v1/projects/:projectUlid/test-cases ligero (o PATCH /api/v1/test-cases/:caseUlid en edición), seguido del PUT de pasos si cambiaron y finalmente PUT /api/v1/test-cases/:caseUlid/custom-field-values para el bloque dinámico de clasificación. Si una etapa falla, las anteriores quedan aplicadas y el editor muestra un error de éxito parcial para reintentar solo la etapa fallida.

Cuando otra persona guardó el caso antes

Si otra persona guarda un caso mientras lo editas, tu cambio no se guarda para no sobrescribir el suyo, y se te avisa que otra persona modificó el caso. En el editor completo tus cambios siguen en pantalla hasta que haces clic en Recargar, que los reemplaza por la última versión, así que copia antes lo que quieras conservar. En el panel de detalle, Recargar muestra la última versión y cierra la edición de pasos abierta.

Panel de detalle — General

La pestaña General muestra descripción, precondiciones, postcondiciones, pasos y adjuntos. Las precondiciones y postcondiciones admiten formato e imágenes: haz clic en una para editarla y se guarda al salir de ella (Esc descarta la edición). Las secciones de precondiciones y postcondiciones aparecen solo cuando ese campo de sistema es visible para el proyecto del caso—la misma lista de definiciones con alcance por proyecto que usa el editor. Un campo oculto por alcance de proyecto no muestra encabezado, placeholder vacío ni valor almacenado en las vistas de solo lectura (panel colapsado y diálogo expandido). Los valores no se borran en el servidor; volver a vincular el campo al proyecto restaura su visualización.

Adjuntos del caso

La sección Adjuntos cierra la pestaña General. Lista cada imagen de los textos del caso, con el campo que la contiene (Descripción, el nombre de un campo personalizado o un paso como Paso 2), y después los archivos subidos al caso. Una imagen usada en dos campos aparece una sola vez, con ambos nombres. Haz clic en cualquier adjunto para abrirlo en el visor de adjuntos.

Para guardar con el caso un archivo que no va dentro de sus textos, como una especificación o un log, haz clic en Subir. Los propietarios, administradores y miembros pueden subir archivos de cualquier tipo salvo ejecutables (.exe, .msi, .sh, .bat y similares), de hasta 32 MB cada uno y hasta 20 archivos por caso; las imágenes de los textos no cuentan para esos 20. Para eliminar archivos, haz clic en Editar junto al contador de la sección, usa el botón para quitar de cada archivo y haz clic en Listo. La eliminación se aplica al instante. Una imagen no tiene botón para quitarla: bórrala de su texto y sale de la lista cuando se guarda el texto. Los lectores ven la sección, pero no pueden subir ni eliminar nada.

Los archivos subidos cuentan para el almacenamiento de tu organización. No forman parte de las versiones del caso: restaurar una versión los deja como están y, con la revisión obligatoria, los subes y eliminas directamente, sin solicitud de revisión. Duplicar un caso no los copia, y archivarlo los conserva.

Panel de detalle — Propiedades

La pestaña Propiedades renderiza el bloque Clasificación de forma dinámica. La primera fila es Suite: un selector jerárquico de ancho completo. El valor Raíz del proyecto significa que el caso no pertenece a ninguna suite (aparece en Casos sin suite en la barra lateral). Cambiar la suite desde aquí envía un PATCH ligero del caso, actualiza la actividad del workspace y revierte el selector si falla la petición.

Debajo van los campos de sistema (prioridad, severidad, estado, tipo, capa, comportamiento, is flaky) y después los campos personalizados ordenados por título, en una cuadrícula de dos columnas. Un campo de párrafo admite formato e imágenes: haz clic para editarlo y se guarda al salir de él (Esc descarta la edición). Las ediciones inline de campos personalizados envían el PUT /custom-field-values completo y mergean la respuesta del servidor; un error revierte solo el campo afectado.

La sección Trazabilidad conserva el milestone; ya no muestra una fila de solo lectura para la suite (la suite vive en Clasificación). El diálogo expandido del panel repite el mismo orden.

Historial de versiones

Cada guardado de un caso crea una versión nueva: las ediciones en el panel de detalle o en el editor completo, una importación que reemplaza el caso y las ediciones de un paso compartido que el caso usa, y las ediciones de un parámetro compartido que el caso usa. La pestaña Historial del panel de detalle lista las versiones de la más reciente a la más antigua, con quién creó cada una y cuándo; una versión creada por la edición de un paso compartido o por una importación lo indica, y una versión creada al fusionar una solicitud de revisión muestra Fusionada desde revisión. Haz clic en una versión para ver qué cambió respecto de la versión anterior; cambia a Versión completa para ver el caso como estaba entonces, con su título, descripción, clasificación, campos y pasos. La primera versión se muestra completa. Una opción eliminada desde entonces aparece como Opción eliminada.

La versión marcada como Actual es el caso tal como está ahora. Un caso que no se guardó desde que se creó todavía no tiene versiones anteriores.

Una imagen que quitas de un texto del caso se queda con las versiones anteriores que la muestran y sigue contando en el almacenamiento de tu organización hasta que la retención del historial de tu plan elimina la última de esas versiones, o hasta que eliminas el caso de forma permanente (ver Adjuntos).

Ver, comparar y restaurar versiones está disponible en los planes Pro y Enterprise. En los demás planes, la pestaña Historial lo explica y enlaza a los planes. Cada guardado sigue creando una versión en todos los planes, así que el historial completo del caso está ahí en cuanto tu plan lo incluye, y Actividad sigue mostrando quién cambió qué.

Para comparar dos versiones cualesquiera, haz clic en Comparar sobre la lista, marca dos versiones y haz clic en Comparar (la más antigua se compara con la más reciente). Para comparar una versión con el caso tal como está ahora, ábrela y haz clic en Comparar con la actual. Una comparación muestra solo lo que difiere, agrupado en detalles, campos personalizados y pasos. Los cambios en la palabra clave de un paso y en el formato de pasos del caso también aparecen ahí, y los cambios en los parámetros y las combinaciones excluidas aparecen en una sección Parámetros. Cada cambio muestra el valor anterior del campo, una flecha y su valor nuevo; en los textos, las palabras eliminadas se marcan a la izquierda y las añadidas a la derecha. Una solicitud de revisión muestra sus cambios propuestos de la misma forma.

Para volver a una versión anterior, ábrela y haz clic en Restaurar esta versión y luego en Restaurar. Restaurar guarda una versión nueva con el contenido de esa versión; no se elimina ninguna versión, así que después puedes volver a restaurar la más reciente. Pueden restaurar los owners, admins y members; la versión actual no tiene nada que restaurar. Algunas cosas no pueden volver tal como estaban:

  • Un paso compartido que todavía existe vuelve como un vínculo a él, así que muestra el contenido actual del paso compartido. Un paso compartido eliminado desde entonces vuelve como pasos propios del caso, con el texto y las imágenes que tenía la versión.
  • Una suite eliminada desde entonces se omite y el caso se queda en su suite actual; un hito eliminado desde entonces deja el caso sin hito.
  • Un campo personalizado o una opción eliminados desde entonces se omiten. Un campo que no tenía valor en esa versión se vacía, salvo que sea obligatorio: entonces conserva su valor actual.
  • Un parámetro compartido eliminado desde entonces vuelve como parámetros propios con los valores que tenía la versión, y la restauración lo indica.

Después de restaurar, la pestaña Historial indica lo que se omitió, y el cambio aparece en Actividad como Restaurado desde la versión N. Si otra persona guardó el caso después de que lo abriste, la restauración se rechaza y se te pide volver a cargar el caso.

Panel de detalle en una pantalla angosta (ancho de teléfono)

En una pantalla angosta (ancho de teléfono) el panel de detalle se abre a pantalla completa en lugar de como un cajón lateral — sin controlador de ancho, y cualquier ancho personalizado que hayas ajustado en una pantalla más ancha no se aplica. Cerrar te devuelve a la lista de casos, igual que la ausencia del controlador de ancho: no hay nada que redimensionar en una pantalla de este tamaño. Al abrirse desde un enlace directo del repositorio, el propio encabezado del panel lleva el control de retroceso etiquetado en lugar de una barra separada. Tampoco se muestra el control para expandir a la vista completa del encabezado — el panel ya ocupa toda la pantalla, así que no queda nada a lo que expandirse.

Icono de estado

Cada fila de caso muestra un pequeño icono en el extremo derecho cuando el Estado del caso no es Activo. El icono y su color coinciden con la opción de estado configurada para ese caso (por ejemplo, un círculo de trazos para Borrador o un indicador de advertencia para Obsoleto). Cuando el Estado es Activo o no está configurado, el espacio queda vacío y no se muestra nada — solo los estados no Activos requieren atención visual.

  • El icono aparece para cualquier opción de estado cuya clave de sistema no sea status_active, incluyendo opciones de estado personalizadas que tengan un icono asignado.
  • Las opciones de estado personalizadas sin icono asignado no muestran nada aunque no sean Activas.
  • Al pasar el cursor sobre el icono se muestra un tooltip con el nombre de la opción.

Pasos

Un caso escribe sus pasos en uno de dos formatos, que se elige con el selector Formato de pasos del editor. Los pasos Clásico tienen texto de acción, datos opcionales y un resultado esperado. Los pasos Gherkin tienen una palabra clave y un texto, con un Doc String o una Data Table opcionales. Un caso nuevo toma el formato por defecto del proyecto, salvo que elijas otro. Consulta Casos de prueba Gherkin para las reglas de Gherkin y la vista de texto. Guarda con Guardar al editar pasos en el panel de detalle.

Para reutilizar los mismos pasos en muchos casos, haz clic en Insertar paso compartido para agregar un paso compartido: sus pasos aparecen entre los pasos del caso, numerados como ellos (solo el editor del caso los marca como Paso compartido), y siempre muestran los pasos actuales del paso compartido. El selector solo muestra los pasos compartidos del formato del caso. Editarlo una vez cambia todos los casos que lo usan.

Imágenes en pasos

La acción, los datos y el resultado esperado de un paso clásico pueden incluir imágenes dentro del texto. Al editar pasos, pega una imagen en uno de esos campos, suéltala ahí o teclea / y elige Imagen: queda donde la pusiste. Puedes agregar imágenes PNG, JPEG y WebP de hasta 10 MB cada una, hasta 20 a la vez. Para quitar una imagen, bórrala del texto. Los pasos Gherkin no admiten imágenes. Cada imagen de un paso también aparece en la sección Adjuntos del caso.

También puedes agregar imágenes al crear un caso. Si guardas mientras una imagen todavía se está subiendo, el guardado espera a que termine.

Las imágenes de pasos cuentan para el almacenamiento de tu organización. Si un guardado haría que la organización supere su cuota, se rechaza por completo con un mensaje de falta de almacenamiento: no se guarda ningún cambio de pasos ni de campos y tus ediciones siguen en el editor. Quitar una imagen, o un paso que tenga imágenes, no libera ese espacio mientras una versión anterior del caso siga mostrando la imagen; consulta qué cuenta como almacenamiento.

Las tiras de pestañas de la aplicación (paneles de detalle, vistas de ejecución, planes y otras superficies con pestañas) siguen el patrón estándar de teclado WAI-ARIA Tabs.

Moverse entre pestañas

TeclaAcción
ArrowRightAvanzar a la siguiente pestaña (da la vuelta de la última a la primera).
ArrowLeftRetroceder a la pestaña anterior (da la vuelta de la primera a la última).
HomeIr directamente a la primera pestaña.
EndIr directamente a la última pestaña.

La selección sigue al foco de forma automática: al presionar una tecla de flecha, el foco se mueve y la pestaña queda activa.

Orden de tabulación

Solo la pestaña activa forma parte del orden de tabulación de la página. Al presionar Tab se omiten las pestañas inactivas y el foco avanza al siguiente elemento interactivo tras la tira. Para acceder a otra pestaña, enfoca primero la pestaña activa con Tab y luego usa ArrowRight o ArrowLeft para navegar.

Selección masiva

Pasa el cursor sobre cualquier fila de caso o banda de suite para revelar una casilla. Al seleccionar al menos un caso aparece una barra de acciones masivas debajo de la barra de filtros con el contador de la selección, Editar y Duplicar (visibles pero aún no activas), Ejecutar, Eliminar y Limpiar selección.

  • Las casillas de suite son de tres estados. Una banda de suite se muestra marcada cuando todos los casos de su subárbol recursivo (incluidas sub-suites contraídas) están seleccionados, indeterminada cuando solo algunos lo están, y sin marcar en el resto de casos. Marcar una banda de suite selecciona o deselecciona todo su subárbol en una sola acción.
  • La banda “Casos sin suite” ofrece su propia casilla para casos huérfanos; nunca se trata como una suite eliminable.
  • La selección persiste al filtrar. Seleccionar casos y luego acotar la lista con búsqueda o filtros mantiene cada caso seleccionado dentro del contador de la barra masiva, aunque quede oculto. Al limpiar el filtro, vuelve a aparecer seleccionado.
  • Las suites vacías no muestran casilla — no hay nada que seleccionar.

Eliminación masiva

Activar Eliminar abre una confirmación que resume cuántas suites se eliminarán y cuántos casos se archivarán, y luego:

  1. Los casos sueltos seleccionados (no cubiertos por una suite totalmente seleccionada) se archivan primero.
  2. Las suites totalmente seleccionadas de nivel superior se eliminan — esto reutiliza el comportamiento existente de eliminación de suites, que archiva cada caso del subárbol de esa suite. Una suite cuyo padre también está totalmente seleccionado no se elimina por separado; solo se elimina la de nivel superior.

Si un paso falla a mitad de camino, el proceso se detiene de inmediato, se muestra el error y tu selección no se limpia — el repositorio se actualiza para que veas qué cambió y puedas reintentar. Si todo se completa con éxito, la selección se limpia y el listado se actualiza. Si el caso que tenías abierto en el panel de detalle formaba parte de la selección eliminada, el panel se cierra.

Ejecución masiva

Seleccionar casos y activar Ejecutar te lleva a la pantalla Ejecuciones del proyecto con el modal de nueva ejecución ya abierto y esos casos preseleccionados — todavía puedes añadir o quitar casos antes de crear la ejecución. Consulta la sección “Crear una ejecución desde una selección del repositorio” de la guía Ejecuciones de prueba para más detalle.

Papelera

Los casos archivados van a la Papelera para restaurar o eliminar según permisos.

En una pantalla angosta (ancho de teléfono) la tabla de la papelera se reorganiza como una lista de tarjetas: cada caso archivado se presenta como su propia tarjeta, mostrando el mismo id visible, suite y fecha de archivado, con su propia casilla de selección y la acción Desarchivar siempre disponible. Desde el ancho de tablet en adelante, la lista es la tabla descrita arriba.