Understanding Test Settings

Functionize’s Test Settings feature allows you to configure every aspect of a test, from basic information such as name and tags, to advanced execution behavior like webhooks, timeouts, cookies, headers, authentication, and alerts. These settings ensure that your tests not only run in the right environment, but also behave exactly as you intend during execution.

Accessing Test Settings

There are two ways to open Test Settings:

Method 1: From the Project Test Listing

  1. Open a project and navigate to the Test Listing page.
  2. Locate the test you want to update.
  3. Under the Actions column, click the Actions dropdown and select Settings.

Method 2: From the Test Details Page

  1. Open the test either by clicking the test name directly or by choosing Actions → Details.
  2. On the Test Details page, click the Settings dropdown and select Test Settings.

Both methods open the Test Settings window, starting on the General tab.

Test Settings Tabs

General Tab

The General Tab contains the core information and configuration for the test.

  • Test Name – The display name of the test.
  • Project – The project the test belongs to.
  • Site Environment – The project environment (QA, staging, production, etc.) against which the test was created.
  • Folder – Assign the test to a folder to simplify filtering and organization on the Test Listing page.
  • Schedule – Displays any recurring or scheduled executions for the test.
  • Run Order – Choose whether to run browsers in parallel (faster execution across environments) or sequentially (controlled order).
  • Notes – Add free-form documentation for context or team collaboration.
  • Tags – Categorize the test for filtering and reporting.

Webhooks Tab

Webhooks allow you to set up API calls that execute before or after a test runs. This is useful for preparing an environment, initializing data, cleaning up after tests, or integrating with external systems. Only GET and POST methods are supported.

Pre-Test Hook

Executed immediately before the test begins.

  • API Call (URL) – Enter the endpoint to call.
  • API Method – Choose GET or POST.
  • Parameters – Click Add Pre Hook Parameter to define key-value pairs that will be sent in the request.

Example use case: resetting a database, provisioning a user account, or enabling feature flags.

Post-Test Hook

Executed immediately after the test completes.

  • API Call (URL) – Enter the endpoint to call.
  • API Method – Choose GET or POST.
  • Parameters – Click Add Post Hook Parameter to define key-value pairs.

Example use case: cleaning up data, logging test results, updating an external reporting system.

Extensions Post-Hook

The Extensions Post-Hook runs after the test finishes and can integrate with test management or external systems. 

Example: sync results with Jira, Zephyr, or another TMS.

Timeouts Tab

Timeouts define performance thresholds for test execution. If these thresholds are exceeded, the test does not fail, but warnings are displayed.

  • Page Load Timeout – Maximum time the AI timing model will wait for a page to load.
  • Missing Element Timeout – Maximum wait for an element to appear before the model moves on.
  • DOM Loaded Threshold – The time until the DOM is considered loaded. Exceeding this raises a warning.
  • First Paint Threshold – Time until the first pixel renders on the screen. Exceeding this raises a warning.
  • Script Timeout – Maximum wait time for a script to return complete before the step is marked failed.

Note: These warnings do not fail the test, but they provide visibility into performance regressions.

Advanced Tab

The Advanced Tab contains a wide range of optional and powerful settings. Common options include:

  • Language – Select the language for runtime execution.
  • Enable Video (on demand runs) – Record videos for executions. Enabling this setting may have impacts on test performance and time to execute.
  • Open Shadow DOM – Enables interaction and inspection within Shadow DOM elements.
  • Filter Hidden Elements – Excludes hidden elements from being displayed or processed.
  • Ignore Certificate Errors – Default ON. Allows tests to continue despite certificate warnings.
  • Continue on Verification Failure* – Execution continues if a Verify Action fails. 
    • Note: This setting may slow down execution and is mainly intended for testing or debugging. Only the first 2 errors are shown in orchestrations.
  • Continue On Error* – Execution continues even if a non-verify action fails. A second non-verify action failure will fail the test. 
    • Note: This setting may slow execution significantly and should generally be used for testing or debugging purposes only. Only the first 2 failures are shown in orchestrations.
  • Capture Network Logs – Enable to capture network requests for troubleshooting. May generate large files.
  • Capture Console Logs – Capture browser console logs. Useful for debugging JS errors.
  • Display PDF in Browser – Opens PDF files inline in the browser.
  • Hide Address Bar – Launches application in “app mode.”
  • Disable iOS CORS – Turns off Cross-Origin Resource Sharing checks on iOS.
  • Don't Show Trace Path of Drag Element – Prevents the drag path from being displayed while dragging elements. 
  • Disable Web Security – Loosens browser cross-domain restrictions.
  • Memory Saver Mode On – Reduces memory usage of the browser.
  • Block third party cookies – Blocks third-party cookies.
  • Not Approved for Learning – Controls whether Functionize’s AI models can learn from this test. By default, new tests must be approved before learning begins (see Learning Mode section).
  • Window Width – Define viewport width. Resets after the first step.
  • Window Height – Define viewport height. Resets after the first step.
  • Host – Internal setting to direct the runtime API calls to a specific Functionize host.
  • Environment Management (URL Override) – Replace recorded URLs with new ones. Supports multiple overrides (see section below).
  • Maximum Verification Failures – Set the maximum number of verification failures before the test stops.
  • Region – Select the Google Datacenter region for execution. If unavailable, another datacenter in the same region is used.
  • Timezone – Choose the timezone for execution.
  • Browser Orientation – Choose Portrait or Landscape.
  • BrowserStack Credential – Select the configured BrowserStack credential to use for this test (requires the BrowserStack feature).
  • Proxy Setting – Configure a proxy server for secure or restricted applications.
  • DNS Override – Set a custom domain resolution to use for URL in this test.
  • Disable Notifications – Do not send the default notifications for executions of this test.
  • Enable Timing Model Override – Override the default settings for the timing model for this test.
  • Override Default  Self-Heal – Modifies the default threshold of acceptance for self-healing actions.

Headers Tab

Define custom HTTP headers to simulate specific request contexts (e.g., geographic IPs, user agents, or test variations).

Cookies Tab

Inject cookies directly into the browser session. This allows you to bypass login flows or simulate specific users.

Example:

  • Name: session_id
  • Value: abc123xyz

Alerts Tab

Configure email alerts for test outcomes:

  • Enter Additional Emails, comma-separated, to notify multiple recipients.
  • Choose Alerts Delivery timing (e.g., after failures, after every run).

Auth Tab

Configure authentication for secure sites:

  • mTLS Client Key – Provide the key for mutual TLS.
  • mTLS Client Certificate – Upload PEM-format certificate.
  • Additional HTTP Authentication – Supply additional domain + credentials.

URL Override (Environment Management)

The URL Override feature lets you run the same test against multiple environments without creating duplicates.

Override Format

[original site URL]::[replacement URL]

Multiple overrides can be supplied using the same syntax in a comma-separated list.

Single Override

https://www.site.com::https://qa.site.com

Multiple Overrides

https://www.site.com::https://qa.site.com,https://www.site.com::https://dev.site.com

Note: Each replacement must include the https:// or http:// prefix.

When saved, the Current URL updates on the Test Details page. The Modeled and Previous Successful Run columns retain original values for reference.

Recording Video of Test Executions

Video recording can be enabled per test to help debug executions visually.

  • Enable via Advanced Tab → Enable Video (on-demand runs).
  • Applies only to on-demand runs.
  • Playback options include fullscreen, download, playback speed, and picture-in-picture.

You can access videos via:

  • Browser Results Tab – Playback button appears once execution is complete.
  • History Tab – Playback button available in execution logs.

Note: Once a video is recorded, the playback button remains visible even if video recording is later disabled.

Learning Mode

Functionize’s Learning Mode optimizes the machine learning models behind self-healing. Instead of learning from every run (including failures), the system learns only from approved, successful tests.

Why It Matters

  • Avoids false positives.
  • Improves accuracy of models.
  • Reduces noise from unstable or broken tests.

How It Works

  1. Refine your test until it runs successfully.
  2. After the first successful run, a banner appears prompting you to approve the test.
  3. Approve directly from the banner or from Test Settings → General Tab by unchecking Not Approved for Learning.

Banner Options

  • Approve – Starts learning from this test.
  • Ignore – Temporarily dismisses the banner (will reappear).
  • Don’t Show Again – Permanently dismisses banner for this test.

Summary

By configuring Test Settings, you can precisely control test behavior, integrate with external systems, monitor performance thresholds, manage environment variations, and improve Functionize’s AI models. Proper use of these settings ensures stable, reliable, and maintainable test automation at scale.