ImageUtils code samples (Java SDK)
Verify that an image exists
This sample shows how to locate an image in a browser window using the VerifyImageExists method.
The sample assumes that there is an image named ImageToFind_In_Browser.bmp at the following path: C:\Images1
@Test public void testObjectVerifyImageMatchExample() throws GeneralLeanFtException, IOException { // Launch the Chrome browser. Browser browser = BrowserFactory.launch(BrowserType.CHROME); // Load an image to search for in the browser window. RenderedImage expectedImage = javax.imageio.ImageIO.read(new File("C:\\Images1\\Expected_Browser_Image.bmp")); // Compare the image with a snapshot of the browser window. // Use the default pixel tolerance and RGB tolerance values. boolean imagesMatch = browser.verifyImageMatch(expectedImage); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser."); // Compare the image with a snapshot of the browser window. // Use a pixel tolerance and RGB tolerance of up to a 10 percent difference. imagesMatch = browser.verifyImageMatch(expectedImage, (byte)10, (byte)10); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser using a pixel tolerance and RGB tolerance of up to a 10 percent difference."); // Prepare a mask area for the comparison described below. Rectangle IncludeRectangle = new Rectangle(0, 0, 200, 200); Rectangle ExcludeRectangle = new Rectangle(100, 100, 10, 10); ImageMaskArea maskArea = new ImageMaskArea(IncludeRectangle, ExcludeRectangle); // Compare the image with a snapshot of the browser window. // Use the default pixel tolerance and RGB tolerance values. // Use a mask area that: // - Includes all of the area in the rectangle located at 0,0,200,200 in the browser window. // - Excludes the area in the rectangle located at 100,100,10,10 in the browser window. imagesMatch = browser.verifyImageMatch(expectedImage, maskArea); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser using a mask image."); // Close the browser. browser.close(); }
Verify that an image matches a test object image
This sample shows how to compare an image to a test object's image - in this case, a browser window - using the VerifyImageMatch method.
The sample assumes that there is an image named Expected_Browser_Image.bmp at the following path: C:\Images1
@Test public void testObjectVerifyImageMatchExample() throws GeneralLeanFtException, IOException { // Launch the Chrome browser. Browser browser = BrowserFactory.launch(BrowserType.CHROME); // Load an image to search for in the browser window. RenderedImage expectedImage = javax.imageio.ImageIO.read(new File("C:\\Images1\\Expected_Browser_Image.bmp")); // Compare the image with a snapshot of the browser window. // Use the default pixel tolerance and RGB tolerance values. boolean imagesMatch = browser.verifyImageMatch(expectedImage); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser."); // Compare the image with a snapshot of the browser window. // Use a pixel tolerance and RGB tolerance of up to a 10 percent difference. imagesMatch = browser.verifyImageMatch(expectedImage, (byte)10, (byte)10); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser using a pixel tolerance and RGB tolerance of up to a 10 percent difference."); // Prepare a mask area for the comparison described below. Rectangle IncludeRectangle = new Rectangle(0, 0, 200, 200); Rectangle ExcludeRectangle = new Rectangle(100, 100, 10, 10); ImageMaskArea maskArea = new ImageMaskArea(IncludeRectangle, ExcludeRectangle); // Compare the image with a snapshot of the browser window. // Use the default pixel tolerance and RGB tolerance values. // Use a mask area that: // - Includes all of the area in the rectangle located at 0,0,200,200 in the browser window. // - Excludes the area in the rectangle located at 100,100,10,10 in the browser window. imagesMatch = browser.verifyImageMatch(expectedImage, maskArea); Verify.isTrue(imagesMatch, "Compare Browser Images", "Compare the browser's snapshot image to the current browser using a mask image."); // Close the browser. browser.close(); }
Search for an image inside another Iimage
This example shows how to use the ImageUtils' class LocateImage to search for one image inside another image.
The sample assumes:
- There is an image named ImageToSearchIn.bmp at the following path: C:\Images1. This is the containing image.
- There is an image named ImageToSearchFor.bmp at the following path: C:\Images1. This is the image we are searching for.
[Test] public void ImageSearchExample() { var imageToSearchIn = new Bitmap(@"C:\Images1\ImageToSearchIn.bmp"); var imageToSearchFor = new Bitmap(@"C:\Images1\ImageToSearchFor.bmp"); var imageFoundAtPoint = ImageUtils.LocateImage(imageToSearchIn, imageToSearchFor, 90); Assert.NotNull(imageFoundAtPoint); }
Compare two images
This example shows how to use the ImageUtils' class LocateCompareImages to compare two images.
The comparison is done with a pixel tolerance of 10, and an RGB tolerance of 20. This means that:
- Up to 10 percent of the pixels might be different
- Up to 20 percent of the RBG values of the pixels might be different.
This example assumes that the images are located at the following path: C:\Images1
@Test public void imageComparisonExample() throws GeneralLeanFtException, IOException { RenderedImage image1 = javax.imageio.ImageIO.read(new File("C:\\Images1\\Image1.bmp")); RenderedImage image2 = javax.imageio.ImageIO.read(new File("C:\\Images1\\Image2.bmp")); boolean imagesMatch = ImageUtils.compareImages(image1, image2, (byte)10, (byte)20); Verify.isTrue(imagesMatch, "ImageComparisonExample", "Verify images match using pixel tolerance and RGB tolerance values."); }