Comparing images in Selenium
Many a time, our tests need image-based comparison. For example, verifying whether correct icons are displayed, whether correct images are displayed in web pages, or comparing baseline screen layout with the actual layout.
Selenium WebDriver does have features to capture screenshots or images from the application under test, however, it does not have the feature to compare the images.
In this recipe, we will create an extension class for comparing images and use it in our Selenium tests.
Getting ready
Set up a new Java project for the CompareUtil
class. This class will be used by Selenium tests as an extension for comparing images.
How to do it...
Let's implement the CompareUtil
class with a method to compare two image files, as shown in the following code:
import java.awt.Image; import java.awt.Toolkit; import java.awt.image.PixelGrabber; public class CompareUtil { public enum Result { Matched, SizeMismatch, PixelMismatch }; static Result CompareImage(String...