Cloud Runner TestRunnerApi – Scoped, Global
On this page
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.
Name Type Description snboqId String Sys_id of the Browser Orchestration Queue (BOQ) [sn_atf_tg_sn_boq] record associated with the test runner job to cancel. Type Description null Null 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.
Name Type Description snboqId String Sys_id of the Browser Orchestration Queue (BOQ) [sn_atf_tg_sn_boq] record associated with the test runner job to retrieve.<table id=“table_fpx_lv4_g1c” class=“returns”><thead><tr><th>
Type
</th><th>
Description
</th></tr></thead><tbody><tr><td>
Object
</td><td>
JSON object indicating test progress. { "progress": Number, "state": "String" }
</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 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 sys_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 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});
Output:
{progress: 64, state: running}
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>
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|Returns 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}
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 thesys_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.
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 thesys_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" });
Output:
{ progress: 40, state: "running" }
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 thesys_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" });
Output:
"7a6b5c4d3e2f7a6b5c4d3e2f7a6b5c4d" (rootTrackerId)
Keep exploring.
Find another answer, or bring this documentation into your own tools.