ImageUtils code samples (.NET 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 TestObjectVerifyImageExistsExample()
{
	// Launch the Chrome browser.
	var browser = BrowserFactory.Launch(BrowserType.Chrome);
	// Pause to ensure that the browser has fully opened. 
	Thread.Sleep(4 * 1000);

	// Load the image to search for in the browser window.
	Image imageToFind = new Bitmap(@"C:\Images1\ImageToFind_In_Browser.bmp");

	// Try to locate the image with a default similarity value of 100 percent.
	// This means that no pixel difference should exist between the expected image and the actual image.
	Point? point = browser.VerifyImageExists(imageToFind);
	Assert.NotNull(point);

	// Try to locate the image with a similarity value of 90 percent.
	// This means that at least 90 percent of the pixels should match between the expected image and the actual image.
	point = browser.VerifyImageExists(imageToFind, 90);
	Assert.NotNull(point);

	// 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()
{
	// Launch the Chrome browser.
	var browser = BrowserFactory.Launch(BrowserType.Chrome);
	// Pause to ensure that the browser has fully opened on the computer. 
	Thread.Sleep(4 * 1000);

	// Load an image to search for in the browser window.
	Image expectedImage = new Bitmap(@"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.
	var 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, 10, 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.
	var maskArea = new ImageMaskArea
	{
		IncludeRectangle = new Rectangle(0, 0, 200, 200),
		ExcludeRectangle = new Rectangle(100, 100, 10, 10)
	};
	// 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()
	{
		var image1 = new Bitmap(@"C:\Images1\Image1.bmp");
		var image2 = new Bitmap(@"C:\Images1\Image2.bmp");
		var imagesMatch = ImageUtils.CompareImages(image1, image2, 10, 20);
		Verify.IsTrue(imagesMatch, "ImageComparisonExample", "Verify images match using pixel tolerance and RGB tolerance values.");
}