Skip to main content

ClassicRunner class

An object of this class is used to manage multiple Eyes sessions when working without the Ultrafast Grid.

To work with the Ultrafast Grid, use VisualGridRunner instead of this class.

Using statement

using Applitools;

ClassicRunner method


ClassicRunner runner = new ClassicRunner();


This method does not take any parameters.

Return value

Type: ClassicRunner

DontCloseBatches property



bool runner; // give relevant initial value
runner.DontCloseBatches = runner;
runner = runner.DontCloseBatches

Type: bool


The example below:

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 APPLITOOLS_BATCH_ID environment variable. This is used as a default by the Configuration.SetBatch method which is set up in the suite Configuration object and then assigned to each Eyes instance.

* After creating the runner, configure it so that won't close the batch
runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(10));
runner.DontCloseBatches = true;
* Setup a common batch for all tests
BatchInfo batchInfo = new BatchInfo(batchName);
batchInfo.Id = MyGetUniqueBatchID(); // User defined
suiteConfig = (Configuration) new Configuration()
/* ... other configurations */;
* Assign the configuration to all newly created Eyes instances
eyes = new Eyes(runner);
* 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();

GetAllTestResults method


TestResultsSummary runner = runner.GetAllTestResults();
TestResultsSummary runner = runner.GetAllTestResults(shouldThrowException);



Type: bool

If a value of true is passed and any test did not pass, or there was a failure, then an exception is thrown. If a value of false is passed, then the object returned contains the test results and status of all the tests. The calling program should use the TestResultContainer.Exception property to examine the exception status and, if it is null, check the various methods in the TestResults returned by the method TestResults to see if the tests passed or mismatched where found. If no parameter is passed, then the default value is true.

Return value

Type: TestResultsSummary