You can use multiple
JUnit 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.
When using mixed scripts to add WebDriver functionality to an existing
Silk4J script, use the
getWebDriver method to get a new driver. For additional information, see
Using Selenium with Existing
Silk4J Scripts.
Note: Using
new RemoteWebDriver to get a new WebDriver object does not work for parallel testing of mixed scripts.
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
java.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
java.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
Silk4J is running. Running the Open Agent multiple times on the same machine is not possible and will cause
Silk4J 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
TrueLog files, one for each test run.
To ensure that the TrueLog files are not overwritten, you can add placeholders to the TrueLog file name. For additional information,
see
Setting TrueLog Options.
Note: If you are experiencing high memory consumption during testing, ensure that test results are saved in the compressed TLZ file
format, and not in the XLG format.
Silk4J does not support the TrueLog API for parallel testing.