Screenshots Java Tutorial

The Applitools Eyes Screenshot Java SDK allows you to easily add visual checkpoints to your Java images tests. It takes care of images given by the user, sending them to the Eyes server for validation and failing the test in case differences are found.


	<!-- Use JDK 1.8 (required for the recent Maven CLI) -->
	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>

	<dependencies>
		<!-- This is the Screenshots Java SDK -->
        <dependency>
            <groupId>com.applitools</groupId>
            <artifactId>eyes-images-java3</artifactId>
            <version>RELEASE</version>
        </dependency>

		<!-- Required to run "mvn package" [Maven's dependency] -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

		<!-- (optional) Required only for Java 10 and up -->
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

	</dependencies>

Option 2 - Add the JAR files to your project

  1. Download the latest version of the Eyes Java Image SDK from here and extract it into a folder of your choice.

  2. Add the extracted files to your path.

Run your first test

Applitools Eyes reports differences by comparing screenshots of your application with baseline images that define the expected appearance of the application at each step of the test. The user should specify the environment (OS and application under test), and the Eyes SDK will automatically set the viewport size based of the size of the image being tested. It will then compare the screenshots against baseline images that are specific to that environment. The first time you run a test in a given environment, its screenshots will be automatically saved as its baseline. Starting from the second run onward, you always have a baseline to compare against.

The test below is a simple Java program that visually validates an image from Applitools' homepage. It consists of a single visual checkpoint, The first time you run this test a new baseline will be created, and subsequent test runs will be compared to this baseline. If any screenshot mismatch its baseline image in a perceptible way, eyes.close() will throw a DiffsFoundException which includes a URL that points to a detailed report where you can see the detected differences and take appropriate actions such as reporting bugs, updating the baseline and more.

Before running the test, make sure to set the API key that identifies your account in the environment variable APPLITOOLS_API_KEY or directly assign it to the eyes.ApiKey method. You can find your API key under the user menu located at the right hand side of the test manager toolbar. If you don't yet have an account create it now to obtain your key.

import com.applitools.eyes.images.Eyes;
import com.applitools.eyes.RectangleSize;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

public class TestApplitools {
  public static void main(String[] args) throws IOException {

        Eyes eyes = new Eyes();

        // Initialize the eyes SDK and set your private API key.
        eyes.setApiKey("YOUR_API_KEY");

        // Define the OS and hosting application to identify the baseline.
        eyes.setHostOS("Windows 10");
        eyes.setHostApp("My maxthon browser");

        BufferedImage img;

        try {

            // Start the test with a viewport size of 800x600.
            eyes.open("Applitools site", "Java Screenshot test!", new RectangleSize(800, 600));

            // Load page image and validate.
            img = ImageIO.read(new URL("https://applitools.com/tutorials/applitools.jpg"));

            // Visual validation.
            eyes.checkImage(img, "Contact-us page");

            // End visual UI testing.
            eyes.close();

        } finally {

            // If the test was aborted before eyes.close was called, ends the test as aborted.
            eyes.abortIfNotClosed();

        }
    }
}

Analyze your test results

Congratulations! You've successfully run your first visual UI test with Applitools Eyes! A detailed report is ready for your inspection at the Applitools Eyes test manager. Watch this 5 minute video to get acquainted with the test manager and to learn the basics of baseline maintenance.

Login to Applitools and analyze the results.

Learn more

Applitools Eyes is a powerful platform for automated visual UI testing that supports full page screenshots, page layout matching, cross-device and browser testing, test batching, baseline branching and merging, automated baseline maintenance, collaboration features, and much more. Applitools has over 40 SDKs supporting a broad range of testing environments.

Reference documentation

To learn more, check out the Applitools Eyes documentation and tutorials for other testing environments.

Request a demo

If you want to see a demo of all our other features, you do request a demo

Knowledge base and Support

You can search our Knowldege base for more information. You can also file a contact our support team and file a Ticket.


Terms & Conditions Privacy Policy GDPRĀ© 2018 Applitools. All rights reserved.

Last Updated: 11/2/2018, 11:43:49 AM