Skip to main content
Version: 1.x

Error Code Reference

Every Praman error carries a machine-readable code field on the error object. This page maps each of the 78 ERR_* codes to its meaning and troubleshooting steps.

For the broader error system (hierarchy, properties, serialization), see Error Reference. For step-by-step diagnostics, see Troubleshooting.

Codes follow the pattern ERR_<CATEGORY>_<REASON>.


Config Errors​

Configuration is validated at startup. These errors indicate a problem with your pramanConfig block in playwright.config.ts.

CodeMeaningFix
ERR_CONFIG_INVALIDZod schema validation failed — a required field is missing or a value is the wrong typeCompare your config against the Configuration guide; look at error.details for the specific Zod issue
ERR_CONFIG_NOT_FOUNDPraman could not locate a config file at the expected pathEnsure pramanConfig is exported from playwright.config.ts or that a config file path resolves correctly
ERR_CONFIG_PARSEConfig file exists but could not be parsed (JSON/TS syntax error)Open the config file and fix any syntax errors; run tsc --noEmit to surface TypeScript issues

Bridge Errors​

The bridge injects a script into the SAP page to expose UI5 internals to Playwright. These errors occur when that injection or communication fails.

CodeMeaningFix
ERR_BRIDGE_TIMEOUTBridge injection did not complete within the configured timeoutIncrease bridgeTimeout; check network speed and whether the SAP page is loading slowly
ERR_BRIDGE_INJECTIONBridge script failed to inject into the page (CSP or frame mismatch)Check Content-Security-Policy headers; verify you are targeting the correct frame
ERR_BRIDGE_NOT_READYBridge injected but UI5 has not finished bootstrappingCall waitForUI5Stable() before interacting; ensure the app's bootstrap script has loaded
ERR_BRIDGE_VERSIONThe running UI5 version is below the minimum supported versionPraman requires UI5 1.71+; check the UI5 version of your target app
ERR_BRIDGE_EXECUTIONA bridge script call threw an exception in the browser contextInspect error.details.scriptError; often a UI5 API was called on a destroyed control

Control Errors​

These errors occur when Praman locates, reads, or interacts with a UI5 control.

CodeMeaningFix
ERR_CONTROL_NOT_FOUNDNo control matched the given selector within the timeoutVerify the control ID or type exists in the current view; try waitForUI5Stable() first; use controlType + properties instead of a bare ID
ERR_CONTROL_NOT_VISIBLEControl was found in the UI5 registry but its DOM element is not visibleCheck if the control is inside a hidden panel or not yet rendered; wait for the parent container to become visible
ERR_CONTROL_NOT_ENABLEDControl is visible but its enabled property is falseYour test may be running before business logic enables the control; assert a prerequisite state first
ERR_CONTROL_NOT_INTERACTABLEControl exists and is visible but cannot receive user interactionsCheck for overlapping elements or a loading spinner; use searchOpenDialogs: true if the control is in a dialog
ERR_CONTROL_NOT_UI5The DOM element found is not a managed SAP UI5 controlUse Playwright native locators for non-UI5 elements (plain HTML inputs, custom web components)
ERR_CONTROL_PROPERTYReading or writing a UI5 control property failedVerify the property name via UI5 API docs; check if the property is read-only at runtime
ERR_CONTROL_AGGREGATIONAccessing a UI5 control aggregation (e.g., items) failedEnsure the aggregation is bound and the model data has loaded; check error.details.aggregationName
ERR_CONTROL_METHODInvoking a method on the UI5 control failed or the method is on the denylistOnly call UI5 public API methods; check the denylist in PramanConfig.methodDenyList
ERR_CONTROL_INTERACTION_FAILEDA click, type, or select operation on the control failed mid-executionRetry the test; if consistent, check for race conditions between animations and interactions
ERR_CONTROL_NO_DOM_REFThe UI5 control has no rendered DOM referenceThe control may not be rendered yet; call waitForUI5Stable() and verify the control is in the active view

Auth Errors​

These errors occur during the authentication phase (typically in globalSetup / auth.setup.ts).

CodeMeaningFix
ERR_AUTH_FAILEDAuthentication was rejected — wrong credentials or invalid SSO tokenCheck your credentials; ensure your SAP_PASSWORD / SAP_USER env vars are set correctly
ERR_AUTH_TIMEOUTThe login page did not respond or complete within the configured timeoutIncrease authTimeout in config; check network connectivity to the SAP system
ERR_AUTH_SESSION_EXPIREDThe stored authentication session has expired (default session: 30 min)Re-run globalSetup to refresh the session; reduce test suite parallelism if sessions expire too quickly
ERR_AUTH_STRATEGY_INVALIDThe authStrategy value in config is unknown or misconfiguredValid strategies: form, saml, basic, oauth; see Authentication guide

These errors occur when navigating within the SAP Fiori Launchpad or via hash routes.

CodeMeaningFix
ERR_NAV_TILE_NOT_FOUNDAn FLP tile with the given title could not be foundVerify the tile title matches exactly (case-sensitive); check the user's role-based access
ERR_NAV_ROUTE_FAILEDHash-based navigation did not resolve to the expected appCheck the intent hash; ensure the app is deployed and the user has the required catalog entry
ERR_NAV_TIMEOUTNavigation did not complete within the configured timeoutIncrease navigationTimeout; check for slow network or heavy app initialization

OData Errors​

These errors occur when Praman makes OData service calls (e.g., for data seeding or validation).

CodeMeaningFix
ERR_ODATA_REQUEST_FAILEDThe HTTP request to the OData service returned a non-2xx statusInspect error.details.status and error.details.body; check service availability and user authorization
ERR_ODATA_PARSEThe OData response body could not be parsed as valid JSON/XMLThe service may be returning an error page (HTML) instead of data; check the raw response
ERR_ODATA_CSRFCSRF token fetch or re-use validation failedThe session may have expired; ensure the CSRF fetch HEAD request succeeds before mutating requests
ERR_ODATA_TRACEOData trace/logging request failedOnly relevant when odataTrace: true; check if the sap-statistics header is supported by the backend

Selector Errors​

These errors occur when parsing or resolving a Praman selector object.

CodeMeaningFix
ERR_SELECTOR_INVALIDThe selector object is malformed — missing required fields or wrong typesEnsure you pass at least one of id, controlType, or properties; see Selectors guide
ERR_SELECTOR_AMBIGUOUSMultiple UI5 controls matched the selectorAdd more specific properties to narrow the match; use index to pick a specific instance
ERR_SELECTOR_PARSEA selector string (e.g., from a shorthand) could not be parsedCheck the selector string syntax; prefer object selectors over string shorthands

Timeout Errors​

These errors surface when a wait condition exceeds the configured duration.

CodeMeaningFix
ERR_TIMEOUT_UI5_STABLEwaitForUI5Stable() timed out — UI5 did not reach a stable stateIncrease ui5StabilityTimeout; check for pending XHR/OData requests that never resolve
ERR_TIMEOUT_CONTROL_DISCOVERYControl discovery loop timed out before finding the target controlIncrease controlDiscoveryTimeout; verify the control is actually rendered in the current view
ERR_TIMEOUT_OPERATIONA generic Praman operation exceeded its configured timeoutInspect error.details.operation to identify which step timed out; increase the relevant timeout config

AI Errors​

These errors occur in the AI-assisted test layer (requires playwright-praman/ai).

CodeMeaningFix
ERR_AI_PROVIDER_UNAVAILABLEThe configured LLM provider endpoint is not reachableCheck network connectivity to the provider; verify API base URL in aiConfig.provider
ERR_AI_RESPONSE_INVALIDThe LLM returned a response that does not match the expected schemaThe provider may have changed its output format; check for model version changes
ERR_AI_TOKEN_LIMITThe prompt exceeded the model's context window limitReduce the page context sent to the model; use contextStrategy: 'minimal' in AI config
ERR_AI_RATE_LIMITEDThe LLM provider rejected the request due to rate limitingBack off and retry; reduce test parallelism when using AI-assisted steps
ERR_AI_NOT_CONFIGUREDAI features were called but no AI provider is configuredAdd an aiConfig block to your Praman config with a valid provider and API key
ERR_AI_LLM_CALL_FAILEDThe LLM API call itself failed (network error, 5xx response)Retry the test; check provider status page; inspect error.details.cause for the underlying error
ERR_AI_RESPONSE_PARSE_FAILEDThe LLM response body could not be parsed into the expected structureEnable aiConfig.debugResponses: true to log raw LLM output for inspection
ERR_AI_CONTEXT_BUILD_FAILEDBuilding the page context payload for the LLM failedThe page may not have loaded correctly; ensure waitForUI5Stable() is called before AI steps
ERR_AI_STEP_INTERPRET_FAILEDThe AI could not interpret a natural-language step into a concrete actionRephrase the step description; add domain vocabulary via vocabularyPath
ERR_AI_INVALID_REQUESTThe AI request object is malformed or missing required fieldsCheck the performIntent() or aiStep() call arguments
ERR_AI_CAPABILITY_NOT_FOUNDThe requested capability is not registered in the capabilities registryEnsure the capability name matches an entry in capabilities.yaml

Plugin Errors​

These errors occur when loading or initializing a Praman plugin.

CodeMeaningFix
ERR_PLUGIN_LOADThe plugin module could not be resolved or importedCheck the plugin path in plugins[] config; ensure the package is installed
ERR_PLUGIN_INITThe plugin's init() hook threw an errorCheck the plugin's own error message in error.details.cause; see the plugin's documentation
ERR_PLUGIN_INCOMPATIBLEThe plugin declares an incompatible pramanVersion rangeUpdate the plugin or downgrade Praman to a compatible version; check the plugin's peerDependencies
ERR_PLUGIN_EXTENSION_DUPLICATETwo plugins register the same extension point keyRename one extension or remove the duplicate plugin
ERR_PLUGIN_EXTENSION_INVALIDA plugin extension does not conform to the required interfaceCheck the plugin's extension implementation against the Praman extension API

Vocabulary Errors​

These errors occur in the business vocabulary system (playwright-praman/vocabulary).

CodeMeaningFix
ERR_VOCAB_TERM_NOT_FOUNDA business term was not found in the loaded vocabularyAdd the term to your domain vocabulary JSON file; check spelling and locale
ERR_VOCAB_DOMAIN_LOAD_FAILEDThe vocabulary domain JSON file failed to loadCheck the vocabularyPath in config; ensure the file exists and is readable
ERR_VOCAB_JSON_INVALIDThe domain vocabulary JSON file is malformedValidate the JSON syntax; compare against the vocabulary schema in the documentation
ERR_VOCAB_AMBIGUOUS_MATCHMultiple vocabulary terms matched with similar confidence scoresMake the term more specific; use the full canonical term name from your vocabulary file

Intent Errors​

These errors occur in the intent/action API (playwright-praman/intents).

CodeMeaningFix
ERR_INTENT_FIELD_NOT_FOUNDA form field referenced by an intent was not found on the pageVerify the field name maps to an actual UI5 control; check the field's vocabulary mapping
ERR_INTENT_ACTION_FAILEDThe intent action (fill, select, submit) could not be completedInspect error.details for the underlying cause; often a ERR_CONTROL_* error wrapped inside
ERR_INTENT_NAVIGATION_FAILEDIntent-driven navigation to an app or tile failedCheck that the target app is accessible for the test user; see Navigation Errors above
ERR_INTENT_VALIDATION_FAILEDIntent input validation rejected a provided valueCheck that the value matches the field's type and any business rule constraints

FLP Errors​

These errors occur when interacting with the SAP Fiori Launchpad shell.

CodeMeaningFix
ERR_FLP_SHELL_NOT_FOUNDThe FLP shell container element was not found in the DOMEnsure you have navigated to the FLP URL before calling FLP APIs; check the base URL config
ERR_FLP_PERMISSION_DENIEDThe test user does not have permission for the requested FLP operationAssign the correct role/catalog to the test user in the SAP system
ERR_FLP_API_UNAVAILABLEThe FLP UShell JavaScript API is not available on the pageThe app may not be running inside the FLP container; check the URL and app embedding
ERR_FLP_INVALID_USERThe FLP user context is invalid or missingRe-authenticate; check that globalSetup ran successfully and the stored session is valid
ERR_FLP_OPERATION_TIMEOUTAn FLP operation (tile click, app launch) timed outIncrease flpTimeout in config; check for slow system response or heavy tile loading

Matcher Errors​

These errors occur when registering or using custom Playwright matchers added by Praman.

CodeMeaningFix
ERR_MATCHER_DUPLICATEA custom matcher with the same name was registered twiceRemove the duplicate extendMatchers() call; each matcher name must be unique
ERR_MATCHER_INVALIDThe matcher definition is missing required fields (e.g., no pass function)Check the matcher object passed to extendMatchers(); see Custom Matchers guide
ERR_MATCHER_FROZENAttempting to register a matcher after the registry has been lockedCall extendMatchers() before test execution begins, in globalSetup or at the fixture level

Browser Bind Errors​

These errors occur in the browser binding layer used by Playwright's exposeFunction integration.

CodeMeaningFix
ERR_BIND_NOT_SUPPORTEDThe requested browser binding is not supported in the current contextSome bindings require a specific Playwright context type; check the bridge adapter documentation
ERR_BIND_FAILEDRegistering the browser binding via exposeFunction failedEnsure the binding is registered before page navigation; check for name conflicts with existing bindings

Screencast Errors​

These errors occur in the screencast/video chapter recording feature.

CodeMeaningFix
ERR_SCREENCAST_NOT_STARTEDA screencast chapter was marked without an active screencast sessionEnsure screencast: true is set in your Playwright context options and Praman is configured to use it
ERR_SCREENCAST_CHAPTER_FAILEDAdding a chapter marker to the screencast failedCheck that the screencast session is still active; inspect error.details.cause for the underlying error
ERR_SCREENCAST_FRAME_HANDLERThe screencast frame handler threw an error during captureLikely a transient issue; retry the test; if persistent, disable screencast to isolate the problem

Compatibility Errors​

These errors occur when a Playwright feature is required but not available in the installed Playwright version.

CodeMeaningFix
ERR_COMPAT_FEATURE_UNAVAILABLEA required Playwright API is not available in the current versionUpgrade Playwright to the minimum version that supports this feature; check the playwright-praman changelog for version requirements

Telemetry Errors​

These errors occur in the optional OpenTelemetry integration (playwright-praman/reporters).

CodeMeaningFix
ERR_TELEMETRY_INIT_FAILEDThe OpenTelemetry SDK failed to initializeCheck your OTLP endpoint URL and credentials; ensure the @opentelemetry/* peer deps are installed
ERR_TELEMETRY_PEER_DEP_MISSINGA required OpenTelemetry peer dependency is not installedRun npm install @opentelemetry/sdk-node @opentelemetry/exporter-otlp-grpc (or the relevant packages)
ERR_TELEMETRY_EXPORTER_FAILEDThe OTLP exporter could not send spans/metrics to the collectorCheck network connectivity to the collector; verify the endpoint and authentication headers
ERR_TELEMETRY_SHUTDOWN_FAILEDThe telemetry SDK did not shut down cleanly at end of test runUsually benign; if consistent, call sdk.shutdown() explicitly in globalTeardown
ERR_TELEMETRY_METRICS_INIT_FAILEDThe metrics pipeline (MeterProvider) failed to initializeCheck your metrics exporter config; ensure metricsInterval is a positive integer

See Also​