JLineup es una herramienta que resulta útil para pruebas de regresión visual automatizadas de páginas web, especialmente en canales de entrega continua. Se puede utilizar como una simple herramienta de línea de comandos o como un pequeño servicio web controlado mediante API REST.
JLineup toma y compara capturas de pantalla de una página web en dos momentos consecutivos. Realiza una comparación píxel por píxel de ambas ejecuciones y genera un informe HTML y JSON. Detrás de escena, utiliza Selenium y un navegador de su elección (actualmente son compatibles con Chrome, Chromium y Firefox).
JLineup no tiene otras dependencias que el navegador web (Firefox o Chrome/Chromium) y una JVM. Experimental : también hay una compilación Linux AMD64 autónoma de la versión CLI que ni siquiera requiere una JVM.
Tomemos este pequeño ejemplo de configuración para comprobar otto.de durante una implementación:
{ "urls": { "https://www.otto.de": { "rutas": [ "/" ], "dispositivos": [ { "ancho": 850, "alto": 600, "relación de píxeles": 1.0, "nombre-dispositivo": "ESCRITORIO", "táctil": falso }, { "ancho": 1000, "alto": 850, "relación de píxeles": 1.0, "nombre del dispositivo": "ESCRITORIO", "toque": falso }, { "ancho": 1200, "alto": 1000, "relación de píxeles": 1.0, "nombre del dispositivo": "ESCRITORIO", "toque": falso } ] } }, "esperar después de cargar la página": 0.5, "navegador": "chrome-headless"}
JLineup se ejecuta antes y después de la implementación y genera un informe como este:
También hay un informe JSON, que es fantástico si quieres comprobar cosas mediante script:
Ejemplo de informe JSON de JLineup
JLineup CLI viene como un archivo Java ejecutable. Debe estar disponible Java 17 o superior para ejecutarlo.
Abra una terminal y descárguelo así:
wget https://repo1.maven.org/maven2/de/otto/jlineup-cli/4.12.1/jlineup-cli-4.12.1.jar -O jlineup.jar
Luego escribe
java -jar jlineup.jar --help
para ver la ayuda de la línea de comando.
Consulte la documentación de la CLI para obtener más detalles y un pequeño tutorial.
Este es un ejemplo de cómo JLineup puede ser útil en su canal de compilación e implementación automatizado. Supongamos que esto es parte de un proceso de integración continua:
JLineup 4.13 fue probado con éxito con
Cromo 128.x
Firefox 130.x
Chrome o Firefox deben estar instalados en el sistema si desea utilizar uno de ellos.
JLineup como herramienta CLI
JLineup como servidor web
Configuración del trabajo JLineup
JLineup utiliza algunas herramientas y bibliotecas de terceros
Selenium tiene la licencia Apache 2.0.
Webdrivermanager tiene la licencia Apache 2.0.
Jackson tiene la licencia Apache 2.0.
Logback tiene la licencia pública Eclipse.
La API SLF4J tiene la licencia MIT.
Thymeleaf tiene la licencia Apache 2.0.
Edison Microservice tiene la licencia Apache 2.0.
Spring Boot tiene la licencia Apache 2.0.
La versión binaria cli está construida con GraalVM Community Edition. GraalVM CE trae su propia licencia de producto.
Image Compare Viewer tiene la licencia MIT.
Las fuentes de Google se utilizan en el informe HTML. Estos son los términos.
AWS SDK para Java 2.0 tiene la licencia Apache 2.0.
Parte del código de Pixelmatch se transfirió a Java para JLineup.
Pixelmatch tiene la licencia ISC.
Parte del código de Looks-same fue portado a Java para JLineup.
Looks-same tiene la licencia MIT.
JLineup es un reemplazo compatible con la configuración de Lineup, implementado en Java. La alineación original era una herramienta Ruby, pero ya no se mantiene.
El crédito por la alineación original es para Finn Lorbeer.
Si tiene preguntas o propuestas, abra un número o escriba un correo electrónico a marco DOT geweke AT otto.de