UFT Developer Grid
The UFT Developer grid dynamically allocates machines for test runs according to machine capabilities and test requirements.
Supported for tests written using the UFT Developer Java or .NET SDK.
Use the UFT Developer grid to run the same test operations on different environments by changing the parameters the test uses to describe the required environment.
You can also leverage the power of your testing lab and achieve distributed parallel test execution. Do this by running all of your tests on the grid, locally or remotely, letting the grid allocate nodes for each test run, as needed.
The UFT Developer Grid configuration includes the following:
|A UFT Developer grid machine||
Allocates a node machine for each test run, based on the testing environment capabilities that your test requires.
On this machine:
|UFT Developer node machines||
Machines that you set up with the environments on which you want to test your applications.
On each node:
In the node's runtime engine settings, specify the grid it connects to and the capabilities provided by the node.
For more details, see Configure a UFT Developer node's runtime engine settings
|UFT Developer tests||
Start each test with a statement that specifies the testing environment capabilities required for this run.
Run your tests using the grid
Run tests on the grid machine locally or remotely. For each test, the grid selects a connected node whose capabilities match the test's environment description.
All of the test's UFT Developer operations run on the selected node.
Other code statements in your tests are executed on the machine where the test itself is located.
The report is generated on the machine where the test itself is located.
Note: When using a UFT Developer grid configuration, you can also use UFT Mobile for your tests.
Configure the UFT Mobile connection details in the grid runtime engine settings.
Set up a UFT Developer grid system
To set up and use a UFT Developer Grid configuration, perform the following steps:
Independently of UFT Developer, set up machines with the environments on which you want to test your applications. These are the nodes on which UFT Developer will perform the test operations.
Install the UFT Developer runtime engine on the grid machine, and on each node machine.
Caution: Do not use the same machine as both a grid and a node.
On the grid machine, run the UFT Developer run-time engine as a grid and define how nodes connect to this grid.
On node machines, run the UFT Developer run-time engine as a node, and configure the node settings. Specify the following:
The grid this node connects to
The testing environment capabilities this node provides
For details, see Start the runtime engine and Configure a UFT Developer node's runtime engine settings.
Make sure that your tests start with a statement specifying the required environment specifications. For example:
For more details, see Write tests for a UFT Developer grid.
You can run as many tests as you want at the same time. For each test, the grid finds a connected node with the required capabilities and uses it to run the test's UFT Developer operations.
Running tests remotely using the grid
You can use the UFT Developer grid to run your tests remotely. This means that you store your tests and run them on a machine other than the UFT Developer grid. When running, the tests connect remotely to the UFT Developer grid to run the UFT Developer test operations. The grid allocates a node with the environment capabilities requested by the test, and runs the UFT Developer test operations on that node. For details, see Run tests remotely.
UFT Developer grid license consumption
The UFT Developer grid can handle four UFT Developer operations at once, for each license consumed. To enable the grid to run more than four operations simultaneously, use a concurrent license. As the grid handles requests to run operations, it will gradually consume and release licenses as needed.
In the grid's runtime engine settings, define the following to control the grid's use of licenses:
The maximum number of concurrent licenses that this grid machine can consume.
The license idle timeout. If no UFT Developer operations are running and the timeout expires, the UFT Developer license is released. The runtime engine remains active and ready to receive requests, but does not consume a license until it needs to run another operation.
For details, see Configure the grid's runtime engine settings.
To control the load placed on a grid node machine, UFT Developer uses a locking system. Each time the grid selects a node to use for a test, it adds a lock on that node. This happens as a the result of the test calling one of the following methods, in which the test describes the environment to use for its operations:
Locks are released automatically at the end of the test run. You can also release them during the run, using the Release method on the locked DesktopEnvironment.
Do the following:
- On each node, configure the maximum number of locks that can be placed on that node (default=4). For details, see Grid Connection Settings.
- On the grid, configure the node-wait timeout This is the number of seconds to wait for one of the relevant nodes connected to the grid to become available for locking. For details, see Node Connection Settings.
The UFT Developer Grid Management console enables you to view the nodes connected to your grid and the capabilities provided by each node. You can see the number of clients currently using the grid to run UFT Developer test operations (number of sessions), the number of licenses in use, and more.
To open the console, make sure the UFT Developer grid runtime engine is running and do one of the following:
- On the grid machine, browse to:
localhost:<Grid management port>
- From a different machine, browse to:
http://<grid address>:<Grid management port>
The Grid management port number is defined in the UFT Developer grid runtime engine settings (Default=8080). For details, see Configure the grid's runtime engine settings.
This console provides general information about the grid machine and a table showing information about each node. For each node, you can see the capabilities provided by this node as well as the number of runs it is currently handling:
- Capabilities include the node's name, operating system, browsers, currently loaded add-ins, and other capabilities defined in the node's settings.
- CONCURRENT RUNS shows the number of locks currently placed on the node, out of the maximum locks defined for that node.