Description
In TestComplete, you can create cross-platform web tests that you can run in a device cloud managed by Selenium Grid. You can run such tests in parallel by using the TestExecute Lite utility. Typically, you control parallel test runs by using the utility command line from a CI/CD system. To control parallel test runs from TestComplete, you can use the Parallel
object or manage them by using the project’s execution plan..
The object does not support nested parallel runs. The TestExecute Lite utility does not support running tests that use the
Parallel
object. For the complete list of features that parallel runs support, see Supported Features.
Requirements
To run tests in parallel, you must have:
-
The Device Cloud Parallel license.
If you do not have the license yet, you can get it from our Sales Team.
You can also get a free trial version of the Device Cloud Parallel license automatically when you try running your cross-platform web tests in parallel by using the
Parallel
object. -
The TestExecute Lite utility installed on your test workstation. The utility comes in one of the following ways:
-
With TestComplete and is installed automatically.
-
With the Device Cloud Parallel license. You can get the standalone installation file from the My SmartBear > My Products section of our website.
To orchestrate cross-platform web tests from a computer where TestComplete is not installed, you can use the standalone version of the utility. It comes with the Device Cloud Parallel license by default. You can get the installation file from the My SmartBear > My Products section of our website.
-
For additional requirements, see the Requirements section in the Running Cross-Platform Web Tests in Parallel topic.
Members
Example
The example below shows how to use the RunTests
method to run several tests in parallel. The method runs MyTest1
and MyTest2
in parallel.
JavaScript, JScript
function Main()
{
// Set a list of tests to run in parallel
var tests = ['Script|Unit1|MyTest1', 'Script|Unit1|MyTest2'];
// Run tests in parallel
Parallel.RunTests(tests);
}
function MyTest1()
{
var url = "http://services.smartbear.com/samples/TestComplete14/smartstore/";
// Set the URL of the device cloud server
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
// Set an environment for the test to run
var capabilities = {
"platform": "Mac OSX 10.14",
"browserName": "Safari",
"version": "12",
"screenResolution": "1366x768"
};
// Launch a browser in the environment
Browsers.RemoteItem(server, JSON.stringify(capabilities)).Run(url);
var browser = Sys.Browser();
var page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/");
…
}
function MyTest2()
{
var url = "http://services.smartbear.com/samples/TestComplete14/smartstore/";
// Set the URL of the device cloud server
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
// Set an environment for the test to run
var capabilities = {
"deviceName": "Pixel 4",
"platformName": "Android",
"platformVersion": "10.0",
"browserName": "Chrome",
"deviceOrientation": "portrait"
};
// Launch a browser in the environment
Browsers.RemoteItem(server, JSON.stringify(capabilities)).Run(url);
var browser = Sys.Browser();
var page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/");
…
}
Python
def Main():
# Set a list of tests to run in parallel
tests = ['Script|Unit1|MyTest1', 'Script|Unit1|MyTest2']
# Run tests in parallel
Parallel.RunTests(tests)
def MyTest1():
url = "http://services.smartbear.com/samples/TestComplete14/smartstore/"
# Set the URL of the device cloud server
server = "http://hub.crossbrowsertesting.com:80/wd/hub"
# Set an environment for the test to run
capabilities = {
"platform": "Mac OSX 10.14",
"browserName": "Safari",
"version": "12",
"screenResolution": "1366x768"}
# Launch a browser in the environment
Browsers.RemoteItem[server, capabilities].Run(url)
browser = Sys.Browser()
page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/")
…
def MyTest2():
url = "http://services.smartbear.com/samples/TestComplete14/smartstore/"
# Set the URL of the device cloud server
server = "http://hub.crossbrowsertesting.com:80/wd/hub"
# Set an environment for the test to run
capabilities = {
"deviceName": "Pixel 4",
"platformName": "Android",
"platformVersion": "10.0",
"browserName": "Chrome",
"deviceOrientation": "portrait"
}
# Launch a browser in the environment
Browsers.RemoteItem(server, capabilities).Run(url)
browser = Sys.Browser()
page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/")
…
VBScript
Sub Main
' Set a list of tests to run in parallel
Dim tests : tests = Array("Script|Unit1|MyTest1", "Script|Unit1|MyTest2")
' Run tests in parallel
Parallel.RunTests(tests)
End Sub
Sub MyTest1()
url = "http://services.smartbear.com/samples/TestComplete14/smartstore/"
' Set the URL of the device cloud server
server = "http://hub.crossbrowsertesting.com:80/wd/hub"
' Set an environment for the test to run
capabilities = "{""platform"":""Mac OSX 10.14"",""browserName"":""Safari"",""version"":""12"",""screenResolution"":""1366x768""}"
' Launch a browser in the environment
Browsers.RemoteItem(server, capabilities).Run(url)
Set browser = Sys.Browser()
Set page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/")
…
End Sub
Sub MyTest2()
url = "http://services.smartbear.com/samples/TestComplete14/smartstore/"
' Set the URL of the device cloud server
server = "http://hub.crossbrowsertesting.com:80/wd/hub"
' Set an environment for the test to run
capabilities = "{""deviceName"":""Pixel 4"",""platformName"":""Android"",""platformVersion"":""10.0"",""browserName"":""Chrome"",""deviceOrientation"":""portrait""}"
' Launch a browser in the environment
Call Browsers.RemoteItem(server, capabilities).Run(url)
Set browser = Sys.Browser()
Set page = browser.Page("*services.smartbear.com/samples/TestComplete*/smartstore/")
…
End Sub
DelphiScript
procedure Main();
var tests : Array[0..1];
begin
// Set a list of tests to run in parallel
tests[0] := 'Script|Unit1|MyTest1';
tests[1] := 'Script|Unit1|MyTest2';
// Run tests in parallel
Parallel.RunTests(tests);
end;
procedure MyTest1();
var url, server, capabilities, browser, page;
begin
url := 'http://services.smartbear.com/samples/TestComplete14/smartstore/';
// Set the URL of the device cloud server
server := 'http://hub.crossbrowsertesting.com:80/wd/hub';
// Set an environment for the test to run
capabilities := '{"platform":"Mac OSX 10.14","browserName":"Safari","version":"12","screenResolution":"1366x768"}';
// Launch a browser in the environment
Browsers.RemoteItem(server, capabilities).Run(url);
browser := Sys.Browser();
page := browser.Page('*services.smartbear.com/samples/TestComplete*/smartstore/');
…
end;
procedure MyTest2();
var url, server, capabilities, browser, page;
begin
url := 'http://services.smartbear.com/samples/TestComplete14/smartstore/';
// Set the URL of the device cloud server
server := 'http://hub.crossbrowsertesting.com:80/wd/hub';
// Set an environment for the test to run
capabilities := '{"deviceName":"Pixel 4","platformName":"Android","platformVersion":"10.0","browserName":"Chrome","deviceOrientation":"portrait"}';
// Launch a browser in the environment
Browsers.RemoteItem(server, capabilities).Run(url);
browser := Sys.Browser();
page := browser.Page('*services.smartbear.com/samples/TestComplete*/smartstore/');
…
end;
C++Script, C#Script
function Main()
{
// Set a list of tests to run in parallel
var tests = ['Script|Unit1|MyTest1', 'Script|Unit1|MyTest2'];
// Run tests in parallel
Parallel["RunTests"](tests);
}
function MyTest1()
{
var url = "http://services.smartbear.com/samples/TestComplete14/smartstore/";
// Set the URL of the device cloud server
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
// Set an environment for the test to run
var capabilities = {
"platform": "Mac OSX 10.14",
"browserName": "Safari",
"version": "12",
"screenResolution": "1366x768"
};
// Launch a browser in the environment
Browsers.RemoteItem(server, JSON["stringify"](capabilities))["Run"](url);
var browser = Sys["Browser"]();
var page = browser["Page"]("*services.smartbear.com/samples/TestComplete*/smartstore/");
…
}
function MyTest2()
{
var url = "http://services.smartbear.com/samples/TestComplete14/smartstore/";
// Set the URL of the device cloud server
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
// Set an environment for the test to run
var capabilities = {
"deviceName": "Pixel 4",
"platformName": "Android",
"platformVersion": "10.0",
"browserName": "Chrome",
"deviceOrientation": "portrait"
};
// Launch a browser in the environment
Browsers["RemoteItem"](server, JSON["stringify"](capabilities))["Run"](url);
var browser = Sys["Browser"]();
var page = browser["Page"]("*services.smartbear.com/samples/TestComplete*/smartstore/");
…
}
See Also
About Cross-Platform Web Tests
Running Cross-Platform Web Tests in Parallel