VisualGridRunner class
An object of this class is used to manage multiple Eyes sessions when working with the Ultrafast Grid.
To work without the Ultrafast Grid, use ClassicRunner instead of this class.
Using statement
using Applitools.VisualGrid;
VisualGridRunner method
Syntax
VisualGridRunner runner = new VisualGridRunner(runnerOptions);
Parameters
runnerOptions
Type: RunnerOptions
An object that defines options for the runner. Multiple options can be defined by appending multiple method calls in a fluent style.
Return value
Type: VisualGridRunner
Example
The example below demonstrates the creation of a VisualGridRunner instance. It is initialized with a call to the constructor RunnerOptions. A call to TestConcurrency is then appended with a parameter of 10. This runner instance is passed to the Eyes instance when it is created. The end effect is that the runner manages the workflow and concurrency of all Eyes instances that are initialized with that runner. Passing a parameter of 10 means that the runner limits the concurrency to a maximum of 10 active test executions.
private EyesRunner runner = null;
runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(10));
eyes = new Eyes(runner);
DontCloseBatches property
Syntax
bool runner; // give relevant initial value
runner.DontCloseBatches = runner;
runner = runner.DontCloseBatches
Type: bool
Example
The example below:
- Illustrates how to prevent the runner from closing the batch, using VisualGridRunner.DontCloseBatches or ClassicRunner.DontCloseBatches.
- Illustrates how to manually close the batch when all tests on all runners have completed, using the method BatchClose.Close.
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()
.SetBatch(batchInfo)
/* ... other configurations */;
/*
* Assign the configuration to all newly created Eyes instances
*/
eyes = new Eyes(runner);
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();
GetAllTestResults method
Syntax
TestResultsSummary runner = runner.GetAllTestResults();
TestResultsSummary runner = runner.GetAllTestResults(shouldThrowException);
Parameters
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