Cloud Runner TestRunnerApi – Scoped, Global

concept australia Updated Sep 10, 2026 4 min read cloudrnr-TestRunnerAPI-scoped.md
Raw file servicenow.com

Manages tests to be executed in a cloud runner for Automated Test Framework (ATF). This API is part of the CloudRunnerApi script include.

You can use this API for the following tasks:

  • Start an ATF test or test suite in the Cloud Runner browser.
  • Check the progress of the test job.
  • Cancel the test job.

In global scope, this API is executed within the sn_atf_tg namespace. You must have the ATF Test Generator and Cloud Runner (sn_atf_tg) plugin activated to use this API.

See also:

Parent Topic:Server API reference

TestRunnerApi – cancelJob(String snboqId)

Sets the test runner job to complete status and cancels the root trackers of any generated tests that are running.

Name Type Description
snboqId String Required. The sys_id of the BOQ record in the Browser Orchestration Queue [sn_atf_tg_sn_boq] table.
Type Description
null Null if successful, error message otherwise.

The following example shows how to start a test run an ATF test, display the progress, and stop the test run. In the global scope, use the sn_atf_tg namespace.

JavaScript
var snboqId = CloudRunnerAPI.TestRunnerAPI.startJob({	"testId": "<sys_id>"});
gs.info(JSON.stringify(CloudRunnerAPI.TestRunnerAPI.progress({"snboqId": snboqId})));
CloudRunnerAPI.TestRunnerAPI.cancelJob({"snboqId": snboqId});

Output:

Text
{progress: 64, state: running}

TestRunnerApi – progress(String snboqId)

Provides the status of each test ran for a provided Browser Orchestration Queue (BOQ) record.

Name Type Description
snboqId String Required. The sys_id of the BOQ record in the Browser Orchestration Queue [sn_atf_tg_sn_boq] table.

Type

Description

Object

JSON object indicating test progress.``` { "progress": Number, "state": "String" }

Text
</td></tr><tr><td>
Object.progress
</td><td>
Indicates test progress percentage complete.Type: Number
</td></tr><tr><td>
Object.state
</td><td>
State of the BOQ record.Possible values:
-   Pending – The requested test activity has been created and is waiting to be executed.-   Processing – The instance is scanning for records to ensure that the execution trackers are marked for cloud runner before the request is sent to the cloud infrastructure.-   Browsers requested – A request has been sent to the cloud infrastructure to start browsers for test generation or test running.-   Running – Cloud infrastructure browsers find and execute pending tests.-   Completed – The test task is complete.-   Failed state – The test task failed.
Type: String
</td></tr><tr><td>
Error
</td><td>
If unsuccessful, possible error messages:-   No BOQ ID passed in – The JSON object provided doesn’t have a BOQ ID entry. Verify that the JSON object is structured as `{snboqId: "<sys_id>"}`.-   Invalid BOQ sys\_id passed in – The ID provided must be for a BOQ record in the Browser Orchestration Queue \[sn\_atf\_tg\_sn\_boq\] table.
</td></tr></tbody></table>The following example shows how to start a test run an ATF test, display the progress, and stop the test run. In the global scope, use the sn\_atf\_tg namespace.

var snboqId = CloudRunnerAPI.TestRunnerAPI.startJob({ "testId": "<sys_id>" });

gs.info(JSON.stringify(CloudRunnerAPI.TestRunnerAPI.progress({"snboqId": snboqId})));

CloudRunnerAPI.TestRunnerAPI.cancelJob({"snboqId": snboqId});

Text
Output:

{progress: 64, state: running}

Text
## TestRunnerApi – startJob\(String testId\)
Starts an ATF test or a test suite on the Cloud Runner browser.
<table id="table_epx_lv4_g1c" class="parameters"><thead><tr><th>
Name
</th><th>
Type
</th><th>
Description
</th></tr></thead><tbody><tr><td>
testId
</td><td>
String
</td><td>
Required. The sys\_id of the ATF test or test suite to be run in the Cloud Runner browser. Located in one of the following tables:-   Test \[sys\_atf\_test\]-   Test Suites \[sys\_atf\_test\_suite\]
</td></tr></tbody></table>|Type|Description||----|-----------||String|The sys\_id of the BOQ record in the Browser Orchestration Queue \[sn\_atf\_tg\_sn\_boq\] table.|
The following example shows how to start a test run an ATF test, display the progress, and stop the test run. In the global scope, use the sn\_atf\_tg namespace.

var snboqId = CloudRunnerAPI.TestRunnerAPI.startJob({ "testId": "<sys_id>" });

gs.info(JSON.stringify(CloudRunnerAPI.TestRunnerAPI.progress({"snboqId": snboqId})));

CloudRunnerAPI.TestRunnerAPI.cancelJob({"snboqId": snboqId});

Text
Output:

{progress: 64, state: running}

Text
## TestRunnerApi – cancelJobByTracker\(String rootTrackerId\)
Cancels the run job according to the given rootTrackerId instead of snboqId. This method is useful when the caller only has the tracker id and no sn\_boq record was ever created.
|Name|Type|Description||----|----|-----------||rootTrackerId|String|Sys\_id of the `sys_execution_tracker` for the run you want to cancel.|
|Type|Description||----|-----------||None|Void. Same cancellation effect as cancelJob\(\).|
The following example cancels the run job for the given rootTrackerID.

sn_atf_tg.CloudRunnerAPI.TestRunnerAPI.cancelJobByTracker({ rootTrackerId: "7a6b5c4d3e2f7a6b5c4d3e2f7a6b5c4d" });

// No return value; run is marked completed/cancelled.

Text
## TestRunnerApi – progressFromTracker\(String rootTrackerId\)
Looks up the run job according to a given rootTrackerId instead of snboqId.
|Name|Type|Description||----|----|-----------||rootTrackerId|String|Sys\_id of the `sys_execution_tracker` for the run you want to look up.|
|Type|Description||----|-----------||Object|`{ progress: number, state: string }` — same shape as `progress`.|
The following example retrieves the run progress for the given rootTrackerID.

var status = sn_atf_tg.CloudRunnerAPI.TestRunnerAPI.progressFromTracker({ rootTrackerId: "7a6b5c4d3e2f7a6b5c4d3e2f7a6b5c4d" });

Text
Output:

{ progress: 40, state: "running" }

Text
## TestRunnerApi – startJob\(String testId\)
Starts the run without waiting for the sn\_boq record.
|Name|Type|Description||----|----|-----------||testId|String|Sys\_id of the Test \[sys\_atf\_test\] or Test Suites \[sys\_atf\_test\_suite\] table record to run.|
|Type|Description||----|-----------||String|Returns a rootTrackerId, which is the sys\_id of the `sys_execution_tracker` for the run. Can be passed in the progressFromTracker\(\) method.|
The following example starts a suite run without waiting on the browser job record.

var rootTrackerId = sn_atf_tg.CloudRunnerAPI.TestRunnerAPI.startJobAsync({ testId: "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" });

Text
Output:

"7a6b5c4d3e2f7a6b5c4d3e2f7a6b5c4d" (rootTrackerId)

Text

Search documentation
Search document titles and file paths on the australia branch