Managing Projects

The Projects page is your landing page after login. Think of a project as a container for your test cases — you can organize them by application, feature, or functional area.

Creating a New Project

Step 1: Start the Project

  • From the Projects page, click + New Project.

Step 2: Enter Project Details

  • Project Name: Give your project a clear name (e.g., HR Portal – Staging).
  • Top-Level Domain: Enter the starting URL for the app you’re testing.
  • Environment: Choose Live, Staging, or Development. These let you separate variables and test across different system contexts. You can add more environments later.
  • HTTP Authentication (optional): If your site requires HTTP auth, check the box and enter username/password.

Step 3: Confirm

  • Click Confirm to create the project.

Editing Project Settings

Once created, a project can be customized from its settings. You can access these with the following steps:

  1. From the Projects page, hover and click View Project.
  2. From the Test Case Listing page, open the ellipsis menu → Project Settings.

Project settings are organized into tabs. Here’s how to use them:

General

  • Environment: Select the environment in which the tests will be executed (e.g., prod, staging, etc.)
  • Certificate Errors: When checked, certificate errors on the site will be ignored.
  • Environment Management: Overrides the base URL for all tests in the project (e.g., https://staging.site.com::https://prod.site.com).
  • Host: Internal setting to direct the runtime API calls to a specific Functionize host.
  • Proxy Setting: Configure a proxy if your AUT is behind a firewall.
  • Region: Choose the data center where tests execute (closest region improves performance).

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.

Timeouts

Set performance thresholds for your tests:

  • Environment: Selects the environment to apply threshold settings to.
  • DOM Loaded Threshold: Specifies the maximum time (in seconds) allowed for the DOM (Document Object Model) to load.
  • First Paint Threshold: Defines the maximum time (in seconds) allowed for the first pixel to render on the screen.
  • Page Load Alert Threshold: Sets the maximum time (in seconds) for the entire page to load before an alert is triggered.
  • Page Performance Threshold: Specifies the maximum time (in seconds) for the page performance metrics to complete.
  • Page Load Timeout: The maximum amount of time (in seconds) the ML (Machine Learning) timing model will wait for a whole page to load before attempting object selection. The Timing Model controls how conservatively the Functionize ML engine waits for an element to appear on the page.
  • Missing Element Timeout : Defines the maximum amount of time (in seconds) the ML timing model will wait for an individual element to load before attempting object selection. This setting defines how long a test will wait for an element to be detected before proceeding or failing. 

Note: Timeouts trigger warnings, not failures — this can be useful for spotting performance issues without breaking tests.

Advanced

Fine-tune execution behavior:

  • Language – Select the language for runtime execution.
  • Default Browser for initial desktop execution
  • Default Browser for initial mobile execution
  • Visual Completion – Used to verify the web element visually.
  • Filter Hidden Elements – Excludes hidden elements from being displayed or processed.
  • Fail on Invisible – When selected, the test will fail if the element is not visible on the web page.
  • Disable Iframe Sandbox Overwrite – Keep iframes in sandbox mode if they are programmed that way, so no javascript can run.
  • Window Width – Define viewport width. Resets after the first step.
  • Enable Logging – Record detailed execution logs for the test (steps performed, actions taken, system responses)
  • Open Shadow DOM – Enables interaction and inspection within Shadow DOM elements.
  • Force System Screenshotused to ensure the platform captures a system-level visual of the application under test.
  • Disable Ajax Catalogingis a specialized execution setting used to manage how the platform’s machine learning (ML) engine monitors and records asynchronous (AJAX) network requests during test execution.
  • Enable Trust Scoreused to provide a quantitative measure of the reliability and stability of an automated test case
  • Disable Notifications – Do not send the default notifications for executions in this project.
  • Detailed Logging –is designed to provide granular, step-by-step technical data during a test run to assist with deep troubleshooting and root cause analysis.
  • Capture network logs – Enable to capture network requests for troubleshooting. May generate large files.
  • Capture console logs – Enable to capture console requests for troubleshooting. May generate large files.
  • Disable iOS CORS – Turns off Cross-Origin Resource Sharing checks on iOS.
  • Disable Diagnostic mode –Used to control the depth of data collected for Root Cause Analysis (RCA) and autonomous healing during a test run
  • Update From Run Time – It is primarily used to automatically update the baseline model of a test case with data captured during a successful runtime execution.
  • Disable Web Security – Turns off certain security mechanisms implemented by the browser.
  • Memory Saver Mode On – When enabled, the browser/application reduces its memory footprint and helps improve system performance and responsiveness.
  • Block third party cookies – When enabled, all third-party cookies will be blocked in all browsing modes, ensuring a consistent browsing experience.
  • Maximum Concurrent (Parallel) tests allowed – Allows maximum tests running in parallel at a time for a particular project.
  • Browser Orientationthis settings allows you to define whether a test should be executed in Portrait or Landscape mode.
  • Element match requirement default – Users can set a default value to show how much percentage an element will match.
  • Full page visual check default – Users can set a default value to show how much percentage a page will match.
  • Window Height – Define viewport height. Resets after the first step.
  • Continue On Error – Continues execution if a test fails on any action.
  • Skip IE Clear Cookies – Is used to bypass the default process of clearing cookies when running tests on Internet Explorer (IE) environments.
  • Timezone – Choose the timezone for execution.
  • Show Extra Data –  is an advanced execution setting found within the Project Management or Test Settings dashboard.
  • Disable RCA – It is used to turn off the platform's automated diagnostic engine during a test run.
  • Ignore PSR ML Data – This flag controls how machine learning (ML) data from past test executions (PSR) is used during a test run.
  • Timing Model – The maximum time the execution engine waits can be specified as the Missing Element Timeout on the Timeout tab.
  • Self Heal – Sets the default threshold of acceptance for self-healing actions.
  • Ignore Variable Syntax – It  controls how the platform handles variables used in test steps and validations, Ignore variable placeholders (for example: ${variable}, {{variable}}, etc.) during execution.
  • Environment – Users can select an environment for a particular project.
  • Default schedule time – Users can select the default schedule time.
  • DNS Override – Set a custom domain resolution to use for URL in this test.
  • Alerts section
    • Status – A measure of the success or failure of an action or test.
    • Pageload Threshold – Allows users to set a maximum time limit for a page to load.
    • Performance Domloaded – Measures the performance of a web page and is tracked by Functionize every time a test runs.
    • Performance Interactive – Allows users to interact with a test while it is running on the Functionize Test Cloud.
    • Performance Firstpaint – Allows users to quickly identify and diagnose performance issues in their web applications.

Access

The Access tab contains two settings:

  • Change Project Owner – Select from the dropdown list to change the project owner.
  • Make Private or Make Public - Swap the project between public and private.

Integrations

The Integrations tab lets you configure a target website to integrate with. The specific settings will vary based on the integration being configured. 

Headers & Cookies

Inject custom headers or cookies into your tests. Useful for simulating logged-in users or testing feature flags without navigating through login flows.

Alert

Configure which users receive alert notifications. Check the box next to a user’s name to send them alert notification from this project.

Auth

Manage HTTP and mTLS authentication for secure environments.

  • mTLS (Mutual TLS) Authentication – Requires both the server and client to authenticate each other with SSL/TLS certificates.
    • MTLS client key: Provide the client key.
    • MTLS client certificate (pem format): Provide the client certificate.
  • Additional HTTP Authentication – Enter the URL without the protocol.
    • Domain: Enter the domain.
    • Username: Enter the username.
    • Password: Enter the password.

Organizing Tests with Folders

Folders let you categorize tests within a project (by feature, module, etc.).

  1. Open a project → click New Folder.
  2. Name it and confirm.
  3. Drag & drop tests into the folder.

Note: Tests also remain visible under “All.”

Configuring Environments

Environments define where your tests run (dev, staging, prod, or custom).

To add or edit an environment:

  1. Go to the project → Project Actions Environment Configuration.
  2. Click Manage ConfigurationAdd.
  3. Enter:
    • Name (e.g., “Staging”)
    • Variable Name (e.g., “baseURL”)
    • Value (the URL)
    • Mask sensitive values if needed.
  4. Confirm to save.

You can mark an environment as default, copy it, or delete it.

Using environments in tests:

  • Inside a test step, reference values as {{fze.env.name}}.
  • During execution, pick the environment configuration you want.

Orchestrations can also run against specific environments by selecting the config at setup.

Moving or Copying Tests Between Environments

  • Move: Bulk-select tests → Bulk Actions → Move → Choose environment. The URL will update automatically.
  • Copy: Bulk-select tests → Bulk Actions → Copy → Choose environment. Use Replace URL if the domain differs (e.g., staging → prod).

With these tools, you can set up projects, customize their behavior, and run tests consistently across multiple environments — all while keeping things organized with folders and alerts.