BatchClose class

Platform: ImagesLanguage: C# SDK:
Use an object of this class to close a batch explicitly.

Introduction

The Test Manager displays test results in batches. The article Grouping tests into batches with the SDK explains how tests are associated with batches based on a batch ID, and how you can use the SDK to control which tests will be part of a particular batch.

Here, we will focus on understanding the notions of an active batch and closing a batch.

A batch is created and becomes active when a test is started with a batch ID that does not match an existing active batch. As long as a batch is active, new tests that have a matching batch ID will be added to the batch.

The Eyes server closes an active batch if it has not been used for several hours, or if it has been in continuous use for more than a few days.

When a batch is closed, the Eyes server sends a batch completion notification, if this feature is enabled. New tests that start will be added to a new batch and not to the closed batch.

You can manage batch closure by manually closing the batch. This is recommended if the user wants to get a batch completion notification as soon as the tests complete and not when the batch is closed automatically by the server.

Using statement

using Applitools;
	

Example

Disable automatic closing of batches by setting the environment variable APPLITOOLS_DONT_CLOSE_BATCHES to a true value.

The example below illustrates how to close a batch programmatically:

Note that the batch ID of the batch being closed needs to be passed to the BatchClose.SetBatchId method. In this example, we assume that a batch ID was set for all of the batches by assigning a unique ID to the environment variable APPLITOOLS_BATCH_ID. This is used as a default by the method Configuration.SetBatch which is set up in a suite Configuration object and assigned to each Eyes instance.

/*
 * Setup a common batch for all tests
 */
BatchInfo batchInfo = new BatchInfo(batchName);
batchInfo.Id = MyGetUniqueBatchID(); // User defined
suiteConfig = (Configuration) new Configuration() 
    .SetBatch(batchInfo)
    /* ... other configurations */; 
/* 
 * Assign the configuration to all newly created Eyes instances
 */
eyes = new Eyes();
eyes.SetConfiguration(suiteConfig);
/*
 * After all the tests have completed, in all the runners
 */
List<String> batchIds = new List<string>() { Environment.GetEnvironmentVariable("APPLITOOLS_BATCH_ID") };
BatchClose batchClose = new BatchClose();
batchClose.SetBatchId(batchIds).Close();

Constructor

BatchClose()
The constructor for the BatchClose class.

Properties

ApiKeyType:string
Use this method to set your Eyes license key.

Methods

Close()
Close the batches whose batch IDs were passed to BatchClose.SetBatchId.
SetApiKey()
Use this method to set your Eyes license key.
SetBatchId()
Set the batch ID of the batches that should be closed.
SetUrl()
Set the Eyes server URL.