JLineup is a tool to automatically test the design of your webapp.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cli
core
gradle/wrapper
web
.gitignore
.travis.yml
HISTORY.md
LICENSE
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
release.sh
settings.gradle
test.gradle

README.md

JLineup

Status

Travis CI Known Vulnerabilities Maven Central

About

JLineup is a tool which is useful for visual acceptance tests in continuous delivery pipelines. It can be used as a simple command line tool or as a small web service which is controlled via REST API.

JLineup makes and compares screenshots from before and after a deployment of a web page. Through comparison of the screenshots it detects every changed pixel. JLineup generates a HTML report and a JSON report. Behind the scenes, it uses Selenium and a browser of choice (currently Chrome, Firefox and PhantomJS are supported).

JLineup is a configuration compatible replacement for Lineup, implemented in Java. The original Lineup is a Ruby tool. We did a rewrite in Java, because we can leverage some quicker image comparison here and we can get rid of Ruby in our JVM-based pipelines.

Credit for Lineup goes to Finn Lorbeer.

Howto

JLineup CLI comes as executable Java Archive. You need a working Java 8 Runtime Environment on your system.

Open a terminal and download it like this:

wget https://oss.sonatype.org/service/local/artifact/maven/redirect\?r\=releases\&g\=de.otto\&a\=jlineup-cli\&v\=3.0.0-rc2\&e\=jar -O jlineup.jar

Then type

java -jar jlineup.jar --help

to get some idea how to use it.

Browser compatibility

JLineup 3.0.0-rc5 was tested successfully with

  • Chrome 69.x
  • Firefox 62.x
  • PhantomJS 2.1.1 (auto-downloaded by JLineup if not installed)

Chrome or Firefox have to be installed on the system if you want to use one of them.

Third party libraries

JLineup uses some third party tools and libraries

Selenium
Webdrivermanager
JCommander
Gson
Logback
PhantomJS
Thymeleaf