---
sourceDocument: Zurich Build or modify applications
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/application-development

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Working with client test runners

# Working with client test runners {#ariaid-title1}

Release version: Zurich  
Updated November 5, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Working with client test runners

The client test runner in ServiceNow's Automated Test Framework (ATF) executes automated test steps involving forms or user-interface elements in a browser tab or window.
There are two types of client test runners:
Show full answer Show less  
* Client Test Runners for manually started tests
* Scheduled Client Test Runners for tests triggered by a schedule

The client test runner runs tests as the logged-in user and displays ongoing test activity in the Execution Frame. Multiple tests can now run concurrently.

## Key Features

* **Test Execution Property:** The test execution feature must be enabled to use client test runners. It is disabled by default to prevent accidental test runs on production systems; tests should only run on development or non-production instances.
* **Idle Monitoring:** When idle, the client test runner checks every five seconds for queued tests and runs them as they become available.
* **Debugging Tabs:** If additional debugging is enabled, the client test runner shows two tabs: Execution Frame (normal test activity) and Debug Info (extra debugging details). Screenshots taken during test runs are saved to test results.
* **Browser Recommendations:** To avoid memory and CPU throttling issues, run the client test runner in its own window at 100% zoom, keep it visible and the screen unlocked. Some browsers (Internet Explorer, Edge, older Firefox) may require periodic restarts.
* **Scheduled Suites:** For scheduled test suites, client test runners must meet browser and environment criteria specified in the scheduled suite record. On macOS, running in a VM with an unlocked screen improves performance and prevents timeouts.
* **JavaScript Window Command Intercepts:** The client test runner automatically handles window commands such as alert (ignored), confirm (returns true), and prompt (returns "test value").
* **Active Test Runners Table:** Active client test runners are tracked in a transient system table viewable via modules for manual or scheduled runners. This table helps monitor runner status and browser details, and can be used to verify configurations for scheduled suite runs.

## Practical Considerations for ServiceNow Customers

* Enable test execution property only in safe, non-production environments to avoid data corruption or service outages.
* Use the Client Test Runner module to monitor and run manual tests interactively and verify test status in real-time.
* For scheduled automated testing, ensure client test runners match specified browser and environment criteria to guarantee reliable execution.
* Keep the client test runner browser window visible and unlocked to ensure smooth test execution and accurate screenshot capture.
* Use the Active Test Runners modules to manage and troubleshoot running test sessions effectively.  
If an automated test includes steps that involve a form or any other user-interface (UI) element, it runs those steps in a browser tab or window called a test runner or client test runner.
The Automated Test Framework supports two types of client test runners: Client Test Runners for manually started tests and Scheduled Client Test Runners for tests started by a schedule.

When test execution is enabled, clicking the Client Test Runner module opens the client test
runner in the current browser session. If tests are waiting to be run, the Client Test
Runner runs a waiting test. If no test is running, the message Waiting for a test to run displays in the client test runner.  
While the client test runner is idle, it checks every five seconds for waiting tests to start. This ensures that the system runs any tests it may have been unable to start because no client with the proper configuration was available.  
Note:  
The client test runner monitors for tests from the current session and runs those tests as the logged-in user (unless it executes an Impersonate User step). If you start a client test runner, log out from the current session, and then log in again, the client test runner executes using the new session.

When the client runner is active, it displays the activity of the currently running test in
the Execution Frame.{#atf-test-runners__fmp_pc5_gx}  
Note:  
You are now allowed to execute multiple tests at a given time.

## Test execution property {#atf-test-runners__section_zvs_bzs_rz}

To work with the client test runner module, the [test execution
property](https://www.servicenow.com/docs/2JqjzJGHV12Q9kHTxDJjGA "On the Properties form, you can set parameters that control how the system executes automated tests and test suites.") must be enabled.  
Note:  
By default, the system property that is used to run automated tests is disabled to prevent you from accidentally running these tests on a production system. To avoid data corruption or an outage, run tests only on development, test, and other non-production instances.

If the test execution property is disabled when you select this
module, the system displays a message and a link to the [automated test
framework properties page](https://www.servicenow.com/docs/2JqjzJGHV12Q9kHTxDJjGA "On the Properties form, you can set parameters that control how the system executes automated tests and test suites.") where you can enable it.

## Additional debugging functionality {#atf-test-runners__section_nvj_dzs_rz}

If you have enabled [additional debugging functionality](https://www.servicenow.com/docs/2JqjzJGHV12Q9kHTxDJjGA "On the Properties form, you can set parameters that control how the system executes automated tests and test suites."), the client test runner module displays two
tabs: Execution Frame and Debug Info. The Execution Frame
displays the information normally shown by the client test runner and the Debug Info displays additional debugging information.{#atf-test-runners__rj2_ptt_gx}

The system takes screen shots from the tests in the Execution Frame tab and records them to the test result record.{#atf-test-runners__cy5_ttt_gx}

## Browser recommendations for all tests and suites {#atf-test-runners__kvv_h25_gx}

* Some browsers have memory-management limitations that make it necessary to occasionally close and restart the browser when running the client test runner. These browsers include Internet Explorer, Edge, and older versions of Firefox. How often you should close the browser depends on the memory allocation in the browser application.
* Some browsers have features that throttle CPU time. To avoid problems, follow these guidelines:
  * Run the client test runner in its own browser window.
  * Keep the client test runner at least partially visible on the screen.
  * Make certain the screen is not locked or shut off.
  {#atf-test-runners__ul_dwv_sxl_pz}
* The client test runner takes screen shots as the tests run. For best results with screen shots, leave the browser zoom level set to 100%. {#atf-test-runners__dkb_3rt_gx}
{#atf-test-runners__mjz_c25_gx}

## Browser recommendations for scheduled suites {#atf-test-runners__section_ok3_fzs_rz}

The client test runners for scheduled suites have additional browser requirements.

* On OS X with the client test runner on Chrome or Safari: If the screen is locked or the client test runner tab is not shown, when the system attempts to run the test suite, tests run significantly slower and may time out. For best performance, run client test runners for scheduled suites in a virtual machine (VM) environment in which the screen does not become locked or disabled.{#atf-test-runners__hvt_bs1_cz}
* The browser must meet the criteria you specified on the [Scheduled suite run record](https://www.servicenow.com/docs/mGB~~~eV7HBBXm7U2r83IQ "A Scheduled Suite Run record associates a Suite Schedule record with a Test Suite.").
* A client test runner meeting the criteria you specified on the [Scheduled suite run record](https://www.servicenow.com/docs/mGB~~~eV7HBBXm7U2r83IQ "A Scheduled Suite Run record associates a Suite Schedule record with a Test Suite.") must be available to run the test suite at the scheduled time. The system cannot automatically open a client test-runner session.
{#atf-test-runners__znt_wr1_cz}

## Javascript window command intercepts {#atf-test-runners__section_pnb_gzs_rz}

The Client Test Runner captures window object commands including console.log, console.error,
alert, confirm, and prompt, with default responses where necessary.

* Any script that calls window.confirm receives a boolean response of true.{#atf-test-runners__bht_3wq_ty}
* Any script that calls window.prompt receives the string response test value.{#atf-test-runners__cht_3wq_ty}
* Any script call to alert is ignored.
{#atf-test-runners__zgt_3wq_ty}

## Active Test Runners table {#atf-test-runners__section_tbv_mdt_rz}

When you start a client test runner, the system registers that runner in the Active Test
Runners table. You can view this table in the [Active Manual Test Runners](https://www.servicenow.com/docs/CL30~Kqa480M~zlH8VomWA "View the client test runners table filtered to show only those runners available to run manually-started tests.") module and the [Active Scheduled Test Runners](https://www.servicenow.com/docs/LqLkPwa~uhlAUP_gYQzxKw "View the client test runners table filtered to show only those runners available to run tests to be started by a schedule.") module. These two modules provide views of the same
table, filtered to show only manual or only scheduled test runners.

The Active Scheduled Test Runner module is useful when you create a scheduled suite run.
For scheduled suite runs, you can specify the browser to use. To determine the name and
version of a browser you want to use, start a scheduled test runner with that browser, then
inspect that runner's record in the Active Scheduled Test Runners module.

The data in this table is transient. While the runner is active, it reports in to the system at a specified interval. If the runner does not report in at the expected time, the system marks the runner as inactive. After a period of time the system deletes the runner. You can [modify these intervals](https://www.servicenow.com/docs/8R~ZsO0JtCSN0AHeINDbHw "Modify how often active client test runners report in to the system and how long the system retains records for inactive client test runners.") on the [Automated Test
Framework properties](https://www.servicenow.com/docs/2JqjzJGHV12Q9kHTxDJjGA "On the Properties form, you can set parameters that control how the system executes automated tests and test suites.") page.
**Related concepts**   

* [Allowed client errors](https://www.servicenow.com/docs/OinE7VFu1UuH8IU_YHnlVg "Add known client errors to the allowed client errors list to allow tests and steps to continue running when a specific error occurs. Set the report level to specify what the Automated Test Framework does when the error occurs in future tests.")  
**Related reference**   

* [Client test runner](https://www.servicenow.com/docs/pr0utoIYsGYiBjQrK7VTSw "The Client Test Runner opens a browser window or tab for running manually-started client automated tests.")
* [Scheduled client test runner](https://www.servicenow.com/docs/uCNQATOjmXARqX9xED1u7A "The Scheduled Client Test Run opens a browser window for running scheduled client automated tests.")

