Comparing Screenshots in Java with Applitools | Applitools Documentation
Prerequisites
- A free Applitools account and Applitools API KEY
Tip: Unsure how to find your API key?
Read Retrieving your API key to find your API key.
Tip: Not sure how to install?
Here are some resources:
Maven installation instructions
- Install with homebrew with
brew install maven
Make sure it's in your PATH!
To test that it's working:
- Make sure to restart the Terminal or Command line prompt to load the new environment variables.
- Run
mvn -v
You should see the version info for Maven.
tip
- It's better to set APPLITOOLS_API_KEY as a system variable (in Windows) or in the
~/.zshrcrecipe file (in MacOS) so that it will be automatically set when you open a new terminal shell. - The Maven executable is inside
/binfolder of the extracted Maven directory. So you must include/bin. It should look something like:/Users/raja/apps/apache-maven-3.5.4/bin
Running the Example Project
- Clone or download the repository and navigate to that folder
git clone https://github.com/applitools/tutorial-images-java.git
cd tutorial-images-java
Note: you can alternatively download the project as a Zip file and extract it
- Run the example test
APPLITOOLS_API_KEY="[Your API Key]" mvn clean -Dtest=DemoTest test
Adding Applitools Eyes to an Existing Project
- Create a Maven project and add the following properties and dependencies to the pom.xml
<dependencies>
<!-- This is the Applitools Images Java SDK -->
<dependency>
<groupId>com.applitools</groupId>
<artifactId>eyes-images-java5</artifactId>
<version>RELEASE</version>
</dependency>
</dependencies>
- Create a class with name
DemoTest.javaand add the following code
package com.applitools.app;
import com.applitools.eyes.EyesRunner;
import com.applitools.eyes.TestResultsSummary;
import com.applitools.eyes.config.Configuration;
import com.applitools.eyes.images.Eyes;
import com.applitools.eyes.RectangleSize;
import com.applitools.eyes.images.ImageRunner;
import com.applitools.eyes.images.Target;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.net.URL;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.nio.file.Paths;
public class DemoTest {
private static EyesRunner runner = new ImageRunner();
private static Configuration config = new Configuration();
@BeforeAll
public static void setUp(){
//config.setServerUrl("https://eyes.applitools.com/"); //set by default
// Define the OS and hosting application to identify the baseline.
config.setHostOS("Windows 11");
config.setHostApp("My App");
}
@Test
public void test() {
Eyes eyes = new Eyes(runner);
eyes.setConfiguration(config);
try {
// Start the test with a viewport size of 800x600.
eyes.open("Demo App - Images Java", "Smoke Test - Images Java", new RectangleSize(800, 600));
// Load image.
BufferedImage img = ImageIO.read(new URL("https://i.ibb.co/bJgzfb3/applitools.png"));
// Visual validation.
eyes.check("Image buffer", Target.image(img));
// End visual UI testing.
eyes.closeAsync();
} catch(IOException ex){
System.out.println(ex);
} finally {
// If the test was aborted before eyes.close was called, ends the test as aborted.
eyes.abortIfNotClosed();
}
}
@AfterAll
public static void tearDown(){
//wait for Applitools test to finish and fetch the results
TestResultsSummary results = runner.getAllTestResults();
System.out.println(results);
}
}
Having Trouble?
Don't suffer in silence! Let us help you. Please reach out to us to get your project working.
Taking the next steps with Applitools Eyes
Congratulations on completing this quickstart! There's still so much to learn about visual testing with Applitools, but you're off to a great start.