Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Cloud Runner TestRunnerApi – Scoped, Global

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 any generated tests that are running.

NameTypeDescription
snboqIdStringSys_id of the Browser Orchestration Queue (BOQ) [sn_atf_tg_sn_boq] record associated with the test runner job to cancel.
TypeDescription
nullNull if successful, error message otherwise.

The following example shows how to cancel a test job using snboqId:

var testRunnerApi = new sn_atf_tg.TestRunnerApi();

// Cancel job using snboqId
var cancelResult = testRunnerApi.cancelJob('f6e5d4c3b2a1908070605040302010ab', null);

if (cancelResult.status === 'success') {
  gs.info('Test job cancelled successfully');
} else {
  gs.error('Failed to cancel test job: ' + cancelResult.message);
}

Output:

Test job cancelled successfully

TestRunnerApi – progress(String snboqId)

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

NameTypeDescription
snboqIdStringSys_id of the Browser Orchestration Queue (BOQ) [sn_atf_tg_sn_boq] record associated with the test runner job to retrieve.
TypeDescription
ObjectJSON object indicating test progress.
{
  "progress": Number,
  "state": "String"
}
Object.progressIndicates test progress percentage complete.Type: Number
Object.stateState of the 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
ErrorIf unsuccessful, possible error messages:- No sys\_id passed in – The JSON object provided doesn’t have a BOQ ID entry. Verify that the JSON object is structured as `{snboqId: ""}`. - Invalid sys\_id passed in – The ID provided must be for a 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});

Output:

{progress: 64, state: running}

TestRunnerApi – startJob(String testId)

Starts an ATF test or a test suite on the Cloud Runner browser.

NameTypeDescription
testIdStringSys\_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\]
TypeDescription
StringReturns 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});

Output:

{progress: 64, state: running}

sndocs is an independent community mirror and is not affiliated with or endorsed by ServiceNow.

ServiceNow, the ServiceNow logo, Now, and other ServiceNow marks are trademarks and/or registered trademarks of ServiceNow, Inc., in the United States and/or other countries. Other company and product names may be trademarks of the respective companies with which they are associated.

© 2026 ServiceNow, Inc. All rights reserved.

Documentation content is redistributed under the Apache License 2.0 from the ServiceNowDocs repository.