Pruebas en modo oscuro, otros idiomas, otras pantallas: una sola prueba para todas las variantes

Pruebas en modo oscuro sin copiar la prueba: mantenga una sola prueba que pase en modo claro y oscuro, en cada idioma y en cada pantalla.

Por Ait Nohaila, Representante de desarrollo de negocio 10 min de lectura

Para probar el modo oscuro, otros idiomas y otras pantallas sin copiar la prueba, mantenga una sola prueba cuyas comprobaciones tengan una versión por variante.Una ejecución elige la variante, y los pasos siguen siendo los mismos.

Es uno de los problemas más comunes de la automatización de pruebas.Una prueba pasa en modo claro en su equipo y luego falla en modo oscuro, en francés o en el portátil de un compañero, sin que haya nada roto.

¿Por qué falla una prueba en modo oscuro si no hay nada roto?

Definición

Una prueba hace dos cosas: hace lo que hace un usuario y comprueba lo que muestra la pantalla.

  • Lo que hace es igual en cada variante.

Lo que comprueba no, porque una pantalla correcta se ve distinta en modo oscuro, en otro idioma o en otra pantalla, y una comprobación que espera un solo aspecto hace fallar los demás.

En GUI Test Studio, lo que espera una comprobación es el objetivo visual de una aserción visual, el texto esperado de una aserción de texto, el formato de una aserción de texto dinámico o la disposición de una aserción de disposición.La grabación da a cada comprobación su primer aspecto esperado, llamado el predeterminado.

Modo oscuro, otro idioma, otra pantalla: qué cambia en una pantalla correcta

La misma pantalla puede verse distinta con razón.La aplicación no está rota, se muestra en otra variante, y una comprobación con una sola versión no puede notar la diferencia.

VarianteLo que cambia en una pantalla correcta
Modo oscuro y alto contrasteCada fondo, color de texto e icono cambia, así que cada imagen difiere del aspecto claro.
Otro idiomaLas palabras se alargan o se acortan, los botones crecen, las líneas se dividen, y un idioma de derecha a izquierda invierte la disposición.
Otra pantallaUn portátil con una escala del 150 % y un monitor 4K al 100 % dibujan el mismo botón con otros píxeles.
Otra versión de WindowsLas fuentes, las esquinas, las sombras y las barras de desplazamiento difieren entre Windows 10 y Windows 11.
Otra edición de su aplicaciónLos colores y el logotipo de un cliente de marca blanca, o una función que solo muestran algunos planes.

Por qué copiar la prueba para cada variante no dura

Cuando una pantalla correcta sigue fallando en una variante, los equipos suelen recurrir a uno de tres atajos.

Una copia por variante

Prueba de pago · Claro
Prueba de pago · Modo oscuro
Prueba de pago · Francés
Prueba de pago · Escala del 150 %

Un cambio en el flujo se hace cuatro veces.

Una sola prueba

Prueba de pago

ClaroModo oscuroFrancésEscala del 150 %

Un cambio en el flujo se hace una sola vez.

Los pasos de una prueba son los mismos en cada variante. Solo difieren lo que esperan las comprobaciones y lo que algunos pasos escriben o abren.
El atajoLo que cuesta
Una copia de la prueba por varianteCada cambio del flujo se hace dos, tres o cinco veces, y las copias se van distanciando.
Una comprobación más laxaUna comprobación lo bastante laxa para aceptar el aspecto oscuro también acepta un icono que falta o un color equivocado en el claro.
Ninguna comprobación visual en esa varianteLa prueba sigue haciendo clic de principio a fin, pero un texto negro sobre fondo oscuro llega a producción sin que nadie lo note.
Una comprobación más laxa no distingue un aspecto nuevo intencionado de un error.Solo un aspecto esperado para esa variante puede hacerlo.

Por qué una prueba superada aún puede pasar por alto lo que ven los usuarios es el tema de los errores visuales que sus pruebas automatizadas pasan por alto.Por qué una comprobación que falla sin motivo es peor que ninguna comprobación se explica en pruebas inestables y falsos positivos.

Lo que hace falta en un framework de pruebas con código

En un framework con código como Playwright, Selenium o Cypress, las variantes las construye y las mantiene usted en el código.

Lo que hay que mantenerEn un framework con códigoEn GUI Test Studio
Las imágenes esperadasUna carpeta de capturas de referencia para cada tema, idioma y navegador, guardada junto al código de las pruebas.Dentro del único archivo de la prueba, como una versión por variante de cada comprobación.
Cambiar de varianteUna configuración o código que se bifurca según el tema o el idioma.Un perfil elegido para la ejecución.
Las palabras escritas en cada idiomaDatos de prueba por idioma, conectados al código de las pruebas.Una versión del paso Escribir texto para ese idioma.
Un aspecto nuevo tras un cambio intencionadoUna ejecución con una opción como --update-snapshots y luego una revisión de los archivos cambiados.Aceptar el aspecto nuevo en el informe, con un clic, y luego Guardar.

La idea es la misma: una variante, un conjunto de expectativas.Lo que cambia es cuánto hay que escribir y mantener para lograrlo.

Una sola prueba para todas las variantes: los perfiles de línea base

GUI Test Studio, que automatiza pruebas de extremo a extremo en Windows sin código, guarda cada versión dentro de la prueba.Usted nombra sus variantes como perfiles de línea base, por ejemplo Modo oscuro, Francés, Monitor 4K o Windows 10.Cada comprobación puede entonces guardar una versión de lo que espera por perfil, junto a su predeterminada.

Una aserción visual

Save

Predeterminado

tal como se grabó

Save

Modo oscuro

un perfil que usted añade

Enregistrer

Francés

un perfil que usted añade

Común a todas las versiones

Dónde mirarCuánto esperarCon cuánta exigencia
Una comprobación guarda un aspecto esperado por variante. Solo lo que espera cambia de una versión a otra.
PalabraSignificado
PredeterminadoLo que se grabó.Se puede renombrar pero nunca quitar, y todas las ejecuciones lo usan salvo que usted elija un perfil.
Perfil de línea baseUna variante con nombre que usted añade a la prueba.Es solo un nombre hasta que sus comprobaciones tienen sus versiones.
VersiónEl aspecto esperado de una comprobación para un perfil: una imagen, un texto, un formato o una disposición.

Todo tipo de comprobación puede guardar versiones: aserciones visuales, aserciones de texto, aserciones de texto dinámico y aserciones de disposición.En una aserción de grupo, cada miembro guarda las suyas.Consulte la guía de líneas base para cada ventana implicada.

Qué cambia de una variante a otra, y qué no cambia nunca

Un perfil cambia lo que espera una comprobación.Nunca cambia la forma en que la comprobación lo busca.

ComprobaciónLa versión de un perfil guardaComún a todas las versiones
Aserción visualSu objetivo visual, la imagen que busca.La zona de búsqueda, el tiempo de espera y la exigencia de verificación.
Aserción de textoEl texto esperado, su precisión y las mayúsculas y minúsculas.La zona de búsqueda y el tiempo de espera.
Aserción de texto dinámicoEl formato de texto que espera.La zona de búsqueda y el tiempo de espera.
Aserción de disposiciónLos elementos y su disposición.La zona de búsqueda y el tiempo de espera.

Probar una aplicación en varios idiomas: los pasos también cambian

Una prueba en otro idioma suele necesitar más que otras imágenes.Escribe otras palabras, abre otra dirección o sube otro archivo.Por eso cada paso de la prueba puede guardar la versión de un perfil de lo que hace, mientras que su lugar en la pantalla y su momento siguen siendo comunes.

PasoPredeterminadoPerfil Francés
Escribir textoHello, I need helpBonjour, j'ai besoin d'aide
Pulsación de teclaCtrl+BCtrl+G
Abrir aplicación webshop.example.com/enshop.example.com/fr
Subir archivoinvoice.pdffacture.pdf
Ejecutar aplicaciónSetup.exeSetup.exe /lang=fr

Un atajo también puede cambiar: en Microsoft Word en francés, la negrita es Ctrl+G y no Ctrl+B, así que el paso Pulsación de tecla guarda una versión Francés.

EjemploUn formulario de soporte en inglés y en francés

La predeterminada escribe un mensaje en inglés y espera la confirmación en inglés.Con el perfil Francés, el mismo paso Escribir texto escribe el mensaje en francés, y la aserción de texto espera la confirmación en francés.Una prueba, dos idiomas, y un cambio del flujo se hace una sola vez.

Cómo lee y compara un texto una aserción de texto se explica en Comprobaciones de texto.

Cómo añadir el modo oscuro a una prueba existente, paso a paso

La manera más rápida de rellenar un perfil es una ejecución con él.Las comprobaciones que tienen otro aspecto fallan, usted las revisa y se queda con las que son correctas.

Ejecutar

Con el perfil

Revisar

Cada comprobación fallida

Aceptar

Para ese perfil

Guardar

En la prueba

  1. 1

    Dar nombre al perfil

    En Configuración, Configuración del proyecto, añada un perfil de línea base llamado Modo oscuro en la tarjeta Perfiles de línea base.Un perfil es solo un nombre hasta que sus comprobaciones reciben sus versiones.

  2. 2

    Ejecutar la prueba con el perfil

    Cambie su aplicación al modo oscuro.En la página de la prueba en GUI Test Runner-Recorder, elija Modo oscuro en la fila Línea base y haga clic en Ejecutar prueba.

    La fila Línea base elige el perfil de la próxima ejecución, y se recuerda para esa prueba.
  3. 3

    Revisar cada comprobación fallida

    Las comprobaciones aún se comparan con el aspecto claro, así que las que tienen otro aspecto fallan.Abra cada una en el informe de confianza y decida si el aspecto oscuro es correcto.

  4. 4

    Aceptar los aspectos oscuros que son correctos

    Haga clic en Aceptar la imagen real como línea base para «Modo oscuro» en cada comprobación que haya revisado.El aspecto claro predeterminado queda como estaba.

    En una ejecución con un perfil, el botón Aceptar guarda el aspecto nuevo bajo ese perfil.
  5. 5

    Guardar y volver a ejecutar

    Guarde los cambios del informe en la prueba y vuelva a ejecutarla con Modo oscuro.Cada comprobación se compara ahora con su propia versión oscura.

O capturar la versión en GUI Test Studio

Seleccione una comprobación, abra su pestaña Líneas base y seleccione el perfil.Cada campo del panel Propiedades muestra ahora la versión de ese perfil, y una edición de lo que espera la comprobación va a esa versión.Capturar... inicia una captura de pantalla con la región de la comprobación dibujada donde estaba, y Capturar la misma región toma la imagen del perfil en ese mismo lugar.

También puede pedir a su asistente de IA que añada un perfil o capture una versión, con Crear una prueba desde una petición.

Cuando la aplicación cambia a propósito: aceptar el nuevo aspecto con un clic

Un aspecto nuevo se acepta cuando la aplicación cambia a propósito.Acepte solo lo que haya revisado y conserve una forma de volver atrás.

CuándoQué hacer en GUI Test Studio
Una comprobación falló y el aspecto nuevo es correctoAcepte el resultado real en el informe de confianza.Ctrl+Z lo deshace hasta que guarde.
El elemento no se encontró en absolutoAcepte su mejor región, el lugar más parecido encontrado, como el nuevo aspecto esperado.
Un texto cambió a propósitoEdite el texto esperado en el informe.Con un perfil, la edición se guarda como la versión de ese perfil.
El aspecto nuevo pasa a ser el principalEstablecer como predeterminado convierte la versión de un perfil en la predeterminada y conserva la antigua predeterminada bajo ese perfil.
Se cambia el nombre de un perfil o se quitaHágalo en la Configuración del proyecto: todas las comprobaciones de la prueba lo siguen.

Actualizar una prueba tras un cambio explica paso a paso la aceptación en el informe, y el informe de confianza explica todo lo que muestra.

Ejecutar cada variante en CI/CD

Esta ejecución

Línea base: Modo oscuro

Botón Guardar · Aserción visual

su versión Modo oscuro

Total del pedido · Aserción de texto

su versión Modo oscuro

Logotipo de la empresa · Aserción visual

aún sin versión Modo oscuro: se usa la predeterminada, y el informe lo indica

Una ejecución usa un perfil. Cada comprobación se compara con su versión para ese perfil, o con la predeterminada cuando no tiene ninguna.

Una ejecución usa un perfil.En GUI Test Runner-Recorder, es la fila Línea base de la página de la prueba.En un agente de compilación, gtr-cli toma --baseline-profile seguido del nombre del perfil.

La misma prueba, una vez por variante
gtr-cli run tests\Checkout.GTS --junit results\default.xml
gtr-cli run tests\Checkout.GTS --baseline-profile "Dark mode" --junit results\dark.xml
gtr-cli run tests\Checkout.GTS --baseline-profile "French" --junit results\french.xml
  • Una comprobación sin versión para el perfil se compara con su predeterminada, y el informe indica qué perfil usó la ejecución y cuántas comprobaciones tenían una versión para él.
  • Un nombre de perfil que la prueba no tiene ejecuta la predeterminada, y gtr-cli lo indica y enumera los perfiles que tiene la prueba.
  • El historial de ejecuciones conserva el perfil que usó cada ejecución.

Ejecutar pruebas en su pipeline enumera todas las opciones de gtr-cli.

Los navegadores y los dispositivos se gestionan de otra manera

Una prueba web no necesita un perfil por navegador o dispositivo: GUI Test Runner-Recorder genera una versión de la prueba grabada para Chrome, Edge, Firefox y teléfonos y tabletas emulados, con imágenes tomadas de cada uno.Consulte pruebas en varios navegadores a partir de una sola grabación.

Los perfiles de línea base son para lo que cambia el aspecto de la misma aplicación en el mismo tipo de pantalla: un tema, un idioma, una escala, una versión de Windows o una edición de su aplicación.Funciona igual para aplicaciones de escritorio, aplicaciones web, juegos y teléfonos.

Lo que debe saber antes de empezar

LímiteLo que significa
Un perfil por ejecuciónDos variantes son dos ejecuciones.Un pipeline ejecuta la prueba una vez por perfil.
Una zona de búsqueda comúnNo hay zona de búsqueda por perfil.Si un elemento está en un lugar muy distinto en una variante, amplíe la zona de búsqueda de la comprobación.
Sin conjuntos por rama de códigoNo hay conjuntos separados de aspectos esperados por rama de código.Para preparar un aspecto nuevo antes de publicarlo, llene un perfil a partir de ejecuciones y luego use Establecer como predeterminado cuando se publique.

Lo esencial

  • 1Una prueba que espera un solo aspecto hace fallar una pantalla correcta en modo oscuro, en otro idioma, con otra escala o en otra versión de Windows.
  • 2Las copias y las comprobaciones más laxas no duran: las copias se separan, y una comprobación más laxa oculta errores reales.
  • 3GUI Test Studio guarda cada variante dentro de una sola prueba, una versión por perfil de línea base, para cada comprobación y cada paso.
  • 4Dónde mirar, cuánto esperar y con cuánta exigencia siguen compartidos, así que ninguna variante hace la prueba más permisiva.
  • 5Una ejecución elige una variante, y un aspecto nuevo sale de aceptar un resultado revisado en el informe de confianza.

Preguntas

¿Por qué mi prueba automatizada falla en modo oscuro?

Porque espera el aspecto claro.Cada comprobación que compara una imagen de la pantalla ve otros colores en modo oscuro y falla, aunque la aplicación funcione.La solución no es una comprobación más laxa sino una versión oscura de lo que espera cada comprobación.

¿Cómo pruebo el modo oscuro y el modo claro con la misma prueba?

Mantenga una sola prueba y dele un perfil de línea base Modo oscuro.Ejecútela una vez con la predeterminada y otra con Modo oscuro: los pasos son los mismos, y cada comprobación se compara con el aspecto de la variante que se ejecuta.

¿Cómo pruebo una aplicación en varios idiomas sin copiar la prueba?

Dé a la prueba un perfil por idioma.Con el perfil Francés, una aserción de texto espera las palabras en francés, una aserción visual la imagen en francés, y un paso Escribir texto escribe la entrada en francés.Un cambio en el flujo se hace entonces una sola vez para todos los idiomas.

¿Por qué mis pruebas fallan con otra resolución de pantalla u otra escala?

Un portátil con escala del 150 % y un monitor 4K al 100 % dibujan el mismo botón con otros píxeles, así que una imagen tomada en uno no coincide exactamente con el otro.Añada un perfil para esa pantalla y acepte su aspecto una vez, a partir de una ejecución que haya revisado.

¿Qué pasa cuando una comprobación no tiene versión para la variante que ejecuto?

Se compara con su predeterminada, el aspecto que se grabó.El informe de confianza indica qué perfil usó la ejecución y cuántas comprobaciones tenían una versión para él, así que un fallo causado por una versión que falta es fácil de reconocer.

¿Cómo actualizo el aspecto esperado tras un cambio intencionado?

Revise primero la comprobación fallida y acepte el aspecto nuevo solo si el cambio era intencionado.En GUI Test Studio, el botón Aceptar del informe de confianza lo hace para una comprobación, de forma reversible, y Guardar lo escribe en la prueba, con el perfil que usó la ejecución.

¿Puedo ejecutar cada variante en un pipeline de CI/CD?

Sí, una ejecución por perfil. gtr-cli toma --baseline-profile seguido del nombre del perfil, así que un pipeline ejecuta la prueba una vez con la predeterminada y una vez por perfil, cada una con sus propios resultados.

¿Debo crear un perfil para cada navegador?

No para una prueba web.GUI Test Studio genera una versión de una prueba web grabada para Chrome, Edge, Firefox y teléfonos y tabletas emulados, con imágenes tomadas de cada uno.Los perfiles de línea base son para lo que cambia el aspecto de la misma aplicación: un tema, un idioma, una pantalla o una versión de Windows.

Playwright, Selenium, Cypress, Microsoft Word y Windows son marcas de sus respectivos propietarios.