Parallel Object

Applies to TestComplete 14.80, last modified on May 04, 2021

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. 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. It 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:

To run tests in parallel, make sure that all requirements are met:

Running Cross-Platform Web Tests in Parallel

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

Highlight search results