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.
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.
| Variante | Lo que cambia en una pantalla correcta |
|---|---|
| Modo oscuro y alto contraste | Cada fondo, color de texto e icono cambia, así que cada imagen difiere del aspecto claro. |
| Otro idioma | Las 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 pantalla | Un 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 Windows | Las fuentes, las esquinas, las sombras y las barras de desplazamiento difieren entre Windows 10 y Windows 11. |
| Otra edición de su aplicación | Los 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
Un cambio en el flujo se hace cuatro veces.
Una sola prueba
Prueba de pago
Un cambio en el flujo se hace una sola vez.
| El atajo | Lo que cuesta |
|---|---|
| Una copia de la prueba por variante | Cada cambio del flujo se hace dos, tres o cinco veces, y las copias se van distanciando. |
| Una comprobación más laxa | Una 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 variante | La 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 mantener | En un framework con código | En GUI Test Studio |
|---|---|---|
| Las imágenes esperadas | Una 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 variante | Una 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 idioma | Datos 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 intencionado | Una 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
Predeterminado
tal como se grabó
Modo oscuro
un perfil que usted añade
Francés
un perfil que usted añade
Común a todas las versiones
| Palabra | Significado |
|---|---|
| Predeterminado | Lo 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 base | Una variante con nombre que usted añade a la prueba.Es solo un nombre hasta que sus comprobaciones tienen sus versiones. |
| Versión | El 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ón | La versión de un perfil guarda | Común a todas las versiones |
|---|---|---|
| Aserción visual | Su objetivo visual, la imagen que busca. | La zona de búsqueda, el tiempo de espera y la exigencia de verificación. |
| Aserción de texto | El 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ámico | El formato de texto que espera. | La zona de búsqueda y el tiempo de espera. |
| Aserción de disposición | Los 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.
| Paso | Predeterminado | Perfil Francés |
|---|---|---|
| Escribir texto | Hello, I need help | Bonjour, j'ai besoin d'aide |
| Pulsación de tecla | Ctrl+B | Ctrl+G |
| Abrir aplicación web | shop.example.com/en | shop.example.com/fr |
| Subir archivo | invoice.pdf | facture.pdf |
| Ejecutar aplicación | Setup.exe | Setup.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.
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
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
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
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
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
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ándo | Qué hacer en GUI Test Studio |
|---|---|
| Una comprobación falló y el aspecto nuevo es correcto | Acepte el resultado real en el informe de confianza.Ctrl+Z lo deshace hasta que guarde. |
| El elemento no se encontró en absoluto | Acepte su mejor región, el lugar más parecido encontrado, como el nuevo aspecto esperado. |
| Un texto cambió a propósito | Edite 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 principal | Establecer 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 quita | Há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.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.
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ímite | Lo que significa |
|---|---|
| Un perfil por ejecución | Dos variantes son dos ejecuciones.Un pipeline ejecuta la prueba una vez por perfil. |
| Una zona de búsqueda común | No 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ódigo | No 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.
Sigue leyendo
Todos los artículos
Pruebas visuales
Pruebas de capturas de pantalla píxel a píxel perfectas: por qué fallan y qué detecta los bugs visuales reales
12 min de lectura

Pruebas visuales
Errores visuales que sus pruebas no detectan: probar lo que ve el usuario
10 min de lectura

Automatización de pruebas
Pruebas manuales frente a pruebas automatizadas: por qué las pruebas manuales se quedan cortas en las pruebas de extremo a extremo
15 min de lectura