A module is a named sequence of steps you can call from any test. Use modules to share login flows, setup fixtures, or repeated user journeys.Documentation Index
Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Modules can’t call other modules.
Example
A module is a YAML file that ends in.module.yaml. Call it from any test with
a Module step.
log-in.module.yaml
checkout.test.yaml
Parameters
Parameters let a single module handle different inputs. Declare them underparameters on the module, then reference them inside steps via
{{ env.PARAM_NAME }} (or env.PARAM_NAME in JavaScript steps).
log-in.module.yaml
Defaults vs instance inputs
Each parameter can have a default value on the module and an instance input on a specific Module step. Instance inputs take precedence. Each input value is one of:- A shorthand string - evaluated as a JavaScript expression (e.g.
env.PARAM,someFn() + 1). { string: ... }- a literal string. Use this for fixed text values.{ javascript: ... }- the script’s return value is bound to the parameter. Equivalent to the shorthand but supports multi-line scripts.
checkout.test.yaml
Control flow
Default retries
Set Default retries under the module’s Control flow tab to retry every invocation of the module a fixed number of times on failure. Invocations that set their ownretries value override the module default.
Use this for flaky setup modules (e.g. a login module that sometimes fails on
slow environments) instead of setting retries on every invocation.
Caching
Modules are uncached by default and always execute. Enable caching to skip a module when its cache key and inputs are unchanged. The module’s return value (the return value of its last step) is also cached. Configure caching with module-level fields:log-in.module.yaml
cacheConfig:
checkout.test.yaml
Authentication modules
SetautoAuth: true (the editor’s Treat as auth module) to save and restore
browser auth state between runs. Momentic persists:
log-in.module.yaml
Set the cache expiry shorter than your session’s expiry. Add a final step that
verifies the authenticated state so the cache only saves when login succeeded.