Running Tests in Parallel

You can use multiple Workbench processes to execute tests in parallel against multiple browsers or mobile devices. For example, you can use this functionality when executing test from a continuous integration server, or from Silk Central.

Silk Testby default supports parallel testing for the following browsers and platforms:
  • Google Chrome.
  • Mozilla Firefox.
  • Web, native, and hybrid apps on the following platforms:
    • Physical Android devices.
    • Android Emulators.
    • Physical iOS devices.

To disable parallel test replay, set the environment variable SILKTEST_ENABLE_PARALLEL_TESTING to false.

Note: Enabling parallel testing causes the Open Agent to handle each test-executing process separately. Applications which have been tested in one Silk Test client cannot be tested from another client, while the initial client is running. For example, you cannot test the same application alternating between Silk4J and Silk4NET.
Note: You cannot execute multiple test runs on the same mobile device at the same time. Before running tests in parallel, ensure that enough devices or emulators are available. Any test runs that get no mobile device or emulator assigned will fail.

Each parallel test run starts as a separate silktest.exe, which corresponds to one browser or mobile device. You can specify the browser or mobile device that you want to associate with a specific silktest.exe through the connection string. For additional information, see Connection String for a Mobile Device or Connection String for a Remote Desktop Browser .

The following image shows testing multiple browsers in parallel:

The following image shows testing multiple devices in parallel:

Multiple processes starting simultaneously might each try to start the Open Agent on the machine on which Silk Test Workbench is running. Running the Open Agent multiple times on the same machine is not possible and will cause Silk Test Workbench to throw an exception. To avoid this, ensure that the Open Agent is running before starting the parallel test runs.

The test results are stored in multiple result files, one for each test run.