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:
- From the Projects page, hover and click View Project.
- 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 Screenshot – used to ensure the platform captures a system-level visual of the application under test.
- Disable Ajax Cataloging – is 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 Score – used 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 Orientation – this 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.).
- Open a project → click New Folder.
- Name it and confirm.
- 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:
- Go to the project → Project Actions → Environment Configuration.
- Click Manage Configuration → Add.
- Enter:
- Name (e.g., “Staging”)
- Variable Name (e.g., “baseURL”)
- Value (the URL)
- Mask sensitive values if needed.
- 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.