Configuring momentic.config.yaml
Configure the behavior of momentic
by using a momentic.config.yaml
file in your project root directory. Each configuration file represents a project.
Global options
name
The name of your project. This is used in reports and other places to identify your project.
include
A list of globs for test and module files to include. Globs are relative to the location of momentic.config.yaml
or absolute.
Momentic will automatically include all files that match these globs when starting the Momentic Local App or running tests.
exclude
A list of globs for files to exclude. Globs are relative to the location of momentic.config.yaml
or absolute.
Folders such as node_modules
, .git
, and .venv
are always excluded.
The default directory Momentic will write to when creating a new module. Non-absolute paths are interpreted relative to the location of momentic.config.yaml
.
goldenFileDir
The default directory Momentic will write to storing golden files for Visual diff. Non-absolute paths are interpreted relative to the location of momentic.config.yaml
.
reporterDir
The default directory for storing test reports when using reporters. Paths are relative to the location of momentic.config.yaml
.
retries
The number of times to retry a test if it fails. This is useful for flaky tests that may fail due to network issues or other transient problems. This will override the retries
option set on the test.
parallel
Default: 1
The number of tests to run in parallel. This is useful for speeding up test execution, especially for large test suites. Set to 1
to run tests sequentially.
Defining environments
environments
Each object in the environments
list defines a different environment for running tests. Each environment defines a set of key-value pairs which are available to tests as variables.
In the example below, we’ve defined three environments: dev
, staging
, and production
.
Environment options
name
The name of the environment. This is used to identify the environment when running tests. It is also available as env.ENV_NAME
in tests.
baseUrl
The starting URL for the environment. This is used as the base URL for all tests using this environment. It is also available as env.BASE_URL
in tests.
envVariables
A list of key-value pairs that define environment variables for the environment. These variables are available to tests as env.VARIABLE_NAME
. They can be used to store sensitive information like API keys or credentials.
Interpolation is supported, so you can reference shell variables. You cannot reference other variables defined in the same environment.
inheritFromShell
Default: false
Include all values from the enclosing shell as environment variables at runtime.
envFile
The path to a file containing environment variables. This file should be in the format of a .env
file, with each line containing a key-value pair. Momentic will load these variables and make them available to tests as env.VARIABLE_NAME
.
Paths are relative to the location of momentic.config.yaml
or absolute.
JSON file
You can also load environment variables from a JSON file. The fromFile
option specifies the path to the file, and the json
option indicates that the file is in JSON format. The variables will be available as env.VAR_FROM_FILE
.
Paths are relative to the location of momentic.config.yaml
or absolute.
Browser options
browser
Configure default browser settings for all tests in the project. Individual tests can override these settings.
pageLoadTimeoutMs
Default: 8000
How long to wait for a page to load before timing out, in milliseconds. This includes new tabs and navigation events.
localChromeExtensionPaths
An list of paths to unpacked Chrome extensions. These extensions will be loaded onto the browser before the test begins. Paths are relative to the location of momentic.config.yaml
or absolute.
extraHeaders
Extra HTTP headers to include in all requests made by the browser. This can be useful for authentication or other custom headers that your application requires.
disableGpu
Default: false
Whether to disable intensive graphical operations, such as WebGL and rasterization with hardware acceleration. Disabling can significantly increase performance, however some graphics libraries may require it.
autoExpandIframes
Default: false
Automatically expand iframes. This allows Momentic to interact with elements inside iframes without needing to configure the Act within iframe option.
showZeroOpacityElements
Default: false
Filter out elements with zero opacity or zero bounding box. This can improve performance by reducing the number of elements Momentic needs to track.
ignoreHrefForCaching
Default: false
Ignore the href
attribute when determining whether cache entries can be reused for anchor elements. This can greatly improve speed for sites that use auto-generated or dynamic links. href
attributes are only ignored if the anchor element has some text content (either as a direct child or in some nested element).
bustCacheOnBoundingBoxChange
Default: false
Whether to bust the cache when the bounding box of an element changes.
globalLocatorRedirect
Default: false
Use a heuristic to redirect locators to a more stable and accurate element. This can improve the reliability of tests by ensuring that locators point to the correct element, even if the DOM structure changes.
visualActions
Default: false
Use a heuristic to determine x, y coordinates of the element and use them to perform actions like clicking, hovering, or typing.
AI options
ai
Configure AI features for the project.
agentConfig
Default:
Choose which version of prompts and AI models to use for certain AI tasks. Currently, only locator
and assertion
can be configured and the available options are v1
and v2
for each. Please contact your Momentic representative before changing this option.
failureRecovery
Failure recovery is in beta and subject to be deprecated in the future.
Default: false
Enable Failure recovery to automatically recover from certain test failures by proposing and executing step changes.
aiAction
AI action is in alpha and subject to be deprecated in the future.
Default: false
Enable AI action as a step in the Momentic Editor. This allows you to use AI to generate actions based on natural language instructions.
stepLintSuggestions
Default: true
Enable AI step linting suggestions. This will provide suggestions for improving the quality of your test steps, such as removing unnecessary steps or optimizing existing ones.
aiPageFiltering
Default: false
Enables page chunking and filtering if the page is too large. This allows Momentic to handle large pages more efficiently by breaking them into smaller chunks and filtering out unnecessary content.
Advanced options
advanced
Configure advanced settings for the project.
fakerConstantSeed
Default: false
Use a constant seed for the Faker library to ensure that random data generated by Faker is consistent across test runs. This can be useful for debugging and ensuring that tests are reproducible.