Praman — Agent-First SAP UI5 Test Automation Plugin - v1.2.0
    Preparing search index...

    Variable presetsConst

    presets: {
        ci: {
            ai?: {
                anthropicApiKey?: string;
                apiKey?: string;
                apiVersion?: string;
                deployment?: string;
                endpoint?: string;
                maxTokens?: number;
                model?: string;
                provider?: "openai" | "azure-openai" | "anthropic";
                temperature?: number;
            };
            auth?: {
                baseUrl?: string;
                client?: string;
                language?: string;
                password?: string;
                strategy?: "custom"
                | "btp-saml"
                | "basic"
                | "office365";
                username?: string;
            };
            captureFailureArtifacts?: boolean;
            controlDiscoveryTimeout?: number;
            controlTreeCapture?: {
                enabled?: boolean;
                maxControls?: number;
                maxDepth?: number;
            };
            defaultMatchSubclasses?: boolean;
            discoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[];
            ignoreAutoWaitUrls?: string[];
            interactionStrategy?: "ui5-native" | "dom-first" | "opa5";
            logLevel?: "error" | "debug" | "warn" | "info" | "verbose";
            odataTracing?: { enabled?: boolean; urlPatterns?: string[] };
            opa5?: {
                autoWait?: boolean;
                debug?: boolean;
                interactionTimeout?: number;
            };
            preferVisibleControls?: boolean;
            selectors?: {
                defaultTimeout?: number;
                preferVisibleControls?: boolean;
                skipStabilityWait?: boolean;
            };
            skipStabilityWait?: boolean;
            telemetry?: {
                batchTimeout?: number;
                connectionString?: string;
                endpoint?: string;
                exporter?: "otlp"
                | "azure-monitor"
                | "jaeger";
                maxQueueSize?: number;
                metrics?: boolean;
                openTelemetry?: boolean;
                protocol?: "http" | "grpc";
                resourceAttributes?: Record<string, string>;
                serviceName?: string;
            };
            ui5WaitTimeout?: number;
        };
        debug: {
            ai?: {
                anthropicApiKey?: string;
                apiKey?: string;
                apiVersion?: string;
                deployment?: string;
                endpoint?: string;
                maxTokens?: number;
                model?: string;
                provider?: "openai"
                | "azure-openai"
                | "anthropic";
                temperature?: number;
            };
            auth?: {
                baseUrl?: string;
                client?: string;
                language?: string;
                password?: string;
                strategy?: "custom"
                | "btp-saml"
                | "basic"
                | "office365";
                username?: string;
            };
            captureFailureArtifacts?: boolean;
            controlDiscoveryTimeout?: number;
            controlTreeCapture?: {
                enabled?: boolean;
                maxControls?: number;
                maxDepth?: number;
            };
            defaultMatchSubclasses?: boolean;
            discoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[];
            ignoreAutoWaitUrls?: string[];
            interactionStrategy?: "ui5-native" | "dom-first" | "opa5";
            logLevel?: "error" | "debug" | "warn" | "info" | "verbose";
            odataTracing?: { enabled?: boolean; urlPatterns?: string[] };
            opa5?: {
                autoWait?: boolean;
                debug?: boolean;
                interactionTimeout?: number;
            };
            preferVisibleControls?: boolean;
            selectors?: {
                defaultTimeout?: number;
                preferVisibleControls?: boolean;
                skipStabilityWait?: boolean;
            };
            skipStabilityWait?: boolean;
            telemetry?: {
                batchTimeout?: number;
                connectionString?: string;
                endpoint?: string;
                exporter?: "otlp"
                | "azure-monitor"
                | "jaeger";
                maxQueueSize?: number;
                metrics?: boolean;
                openTelemetry?: boolean;
                protocol?: "http" | "grpc";
                resourceAttributes?: Record<string, string>;
                serviceName?: string;
            };
            ui5WaitTimeout?: number;
        };
    } = ...

    Built-in configuration presets.

    Type Declaration

    • ci: {
          ai?: {
              anthropicApiKey?: string;
              apiKey?: string;
              apiVersion?: string;
              deployment?: string;
              endpoint?: string;
              maxTokens?: number;
              model?: string;
              provider?: "openai" | "azure-openai" | "anthropic";
              temperature?: number;
          };
          auth?: {
              baseUrl?: string;
              client?: string;
              language?: string;
              password?: string;
              strategy?: "custom"
              | "btp-saml"
              | "basic"
              | "office365";
              username?: string;
          };
          captureFailureArtifacts?: boolean;
          controlDiscoveryTimeout?: number;
          controlTreeCapture?: {
              enabled?: boolean;
              maxControls?: number;
              maxDepth?: number;
          };
          defaultMatchSubclasses?: boolean;
          discoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[];
          ignoreAutoWaitUrls?: string[];
          interactionStrategy?: "ui5-native" | "dom-first" | "opa5";
          logLevel?: "error" | "debug" | "warn" | "info" | "verbose";
          odataTracing?: { enabled?: boolean; urlPatterns?: string[] };
          opa5?: { autoWait?: boolean; debug?: boolean; interactionTimeout?: number };
          preferVisibleControls?: boolean;
          selectors?: {
              defaultTimeout?: number;
              preferVisibleControls?: boolean;
              skipStabilityWait?: boolean;
          };
          skipStabilityWait?: boolean;
          telemetry?: {
              batchTimeout?: number;
              connectionString?: string;
              endpoint?: string;
              exporter?: "otlp"
              | "azure-monitor"
              | "jaeger";
              maxQueueSize?: number;
              metrics?: boolean;
              openTelemetry?: boolean;
              protocol?: "http" | "grpc";
              resourceAttributes?: Record<string, string>;
              serviceName?: string;
          };
          ui5WaitTimeout?: number;
      }

      CI preset — shorter timeouts and debug-friendly defaults for CI pipelines.

      Reduces ui5WaitTimeout from 30 s to 15 s and controlDiscoveryTimeout from 10 s to 5 s. Enables failure artifact capture. Reduces feedback loop time in CI without sacrificing reliability for well-behaved SAP apps.

      import { defineConfig, presets } from 'playwright-praman';
      export default defineConfig({ ...presets.ci });
      • Optionalai?: {
            anthropicApiKey?: string;
            apiKey?: string;
            apiVersion?: string;
            deployment?: string;
            endpoint?: string;
            maxTokens?: number;
            model?: string;
            provider?: "openai" | "azure-openai" | "anthropic";
            temperature?: number;
        }
      • Optionalauth?: {
            baseUrl?: string;
            client?: string;
            language?: string;
            password?: string;
            strategy?: "custom" | "btp-saml" | "basic" | "office365";
            username?: string;
        }
        • OptionalbaseUrl?: string
        • Optionalclient?: string
        • Optionallanguage?: string
        • Optionalpassword?: string
        • Optionalstrategy?: "custom" | "btp-saml" | "basic" | "office365"

          Auth strategy for SAP login.

          • basic: On-premise form-based login (onprem-strategy)
          • btp-saml: BTP Cloud SAML via IAS (cloud-saml-strategy)
          • office365: Microsoft 365 / Azure AD SSO (office365-strategy)
          • custom: User-provided login function

          For API-based, certificate, or multi-tenant auth, see the authentication guide — these are configured programmatically.

        • Optionalusername?: string
      • OptionalcaptureFailureArtifacts?: boolean

        Whether to auto-capture diagnostic artifacts (screenshot, control tree, page context) on test failure.

        When true (default), the failure artifacts fixture automatically attaches a screenshot (PNG), UI5 control tree snapshot (JSON), and page metadata (JSON) to the test report on any test failure. Set to false to disable.

      • OptionalcontrolDiscoveryTimeout?: number
      • OptionalcontrolTreeCapture?: { enabled?: boolean; maxControls?: number; maxDepth?: number }
      • OptionaldefaultMatchSubclasses?: boolean

        Default value for matchSubclasses on selectors that don't specify it.

      • OptionaldiscoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[]
      • OptionalignoreAutoWaitUrls?: string[]
      • OptionalinteractionStrategy?: "ui5-native" | "dom-first" | "opa5"
      • OptionallogLevel?: "error" | "debug" | "warn" | "info" | "verbose"
      • OptionalodataTracing?: { enabled?: boolean; urlPatterns?: string[] }
      • Optionalopa5?: { autoWait?: boolean; debug?: boolean; interactionTimeout?: number }
      • OptionalpreferVisibleControls?: boolean
      • Optionalselectors?: {
            defaultTimeout?: number;
            preferVisibleControls?: boolean;
            skipStabilityWait?: boolean;
        }
        • OptionaldefaultTimeout?: number

          Use top-level controlDiscoveryTimeout instead.

        • OptionalpreferVisibleControls?: boolean
        • OptionalskipStabilityWait?: boolean
      • OptionalskipStabilityWait?: boolean
      • Optionaltelemetry?: {
            batchTimeout?: number;
            connectionString?: string;
            endpoint?: string;
            exporter?: "otlp" | "azure-monitor" | "jaeger";
            maxQueueSize?: number;
            metrics?: boolean;
            openTelemetry?: boolean;
            protocol?: "http" | "grpc";
            resourceAttributes?: Record<string, string>;
            serviceName?: string;
        }
        • OptionalbatchTimeout?: number
        • OptionalconnectionString?: string

          Azure Monitor connection string. Required when exporter is 'azure-monitor'.

        • Optionalendpoint?: string
        • Optionalexporter?: "otlp" | "azure-monitor" | "jaeger"
        • OptionalmaxQueueSize?: number
        • Optionalmetrics?: boolean
        • OptionalopenTelemetry?: boolean
        • Optionalprotocol?: "http" | "grpc"
        • OptionalresourceAttributes?: Record<string, string>
        • OptionalserviceName?: string
      • Optionalui5WaitTimeout?: number
    • debug: {
          ai?: {
              anthropicApiKey?: string;
              apiKey?: string;
              apiVersion?: string;
              deployment?: string;
              endpoint?: string;
              maxTokens?: number;
              model?: string;
              provider?: "openai" | "azure-openai" | "anthropic";
              temperature?: number;
          };
          auth?: {
              baseUrl?: string;
              client?: string;
              language?: string;
              password?: string;
              strategy?: "custom"
              | "btp-saml"
              | "basic"
              | "office365";
              username?: string;
          };
          captureFailureArtifacts?: boolean;
          controlDiscoveryTimeout?: number;
          controlTreeCapture?: {
              enabled?: boolean;
              maxControls?: number;
              maxDepth?: number;
          };
          defaultMatchSubclasses?: boolean;
          discoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[];
          ignoreAutoWaitUrls?: string[];
          interactionStrategy?: "ui5-native" | "dom-first" | "opa5";
          logLevel?: "error" | "debug" | "warn" | "info" | "verbose";
          odataTracing?: { enabled?: boolean; urlPatterns?: string[] };
          opa5?: { autoWait?: boolean; debug?: boolean; interactionTimeout?: number };
          preferVisibleControls?: boolean;
          selectors?: {
              defaultTimeout?: number;
              preferVisibleControls?: boolean;
              skipStabilityWait?: boolean;
          };
          skipStabilityWait?: boolean;
          telemetry?: {
              batchTimeout?: number;
              connectionString?: string;
              endpoint?: string;
              exporter?: "otlp"
              | "azure-monitor"
              | "jaeger";
              maxQueueSize?: number;
              metrics?: boolean;
              openTelemetry?: boolean;
              protocol?: "http" | "grpc";
              resourceAttributes?: Record<string, string>;
              serviceName?: string;
          };
          ui5WaitTimeout?: number;
      }

      Debug preset — verbose logging, longer timeouts for local investigation.

      import { defineConfig, presets } from 'playwright-praman';
      export default defineConfig({ ...presets.debug });
      • Optionalai?: {
            anthropicApiKey?: string;
            apiKey?: string;
            apiVersion?: string;
            deployment?: string;
            endpoint?: string;
            maxTokens?: number;
            model?: string;
            provider?: "openai" | "azure-openai" | "anthropic";
            temperature?: number;
        }
      • Optionalauth?: {
            baseUrl?: string;
            client?: string;
            language?: string;
            password?: string;
            strategy?: "custom" | "btp-saml" | "basic" | "office365";
            username?: string;
        }
        • OptionalbaseUrl?: string
        • Optionalclient?: string
        • Optionallanguage?: string
        • Optionalpassword?: string
        • Optionalstrategy?: "custom" | "btp-saml" | "basic" | "office365"

          Auth strategy for SAP login.

          • basic: On-premise form-based login (onprem-strategy)
          • btp-saml: BTP Cloud SAML via IAS (cloud-saml-strategy)
          • office365: Microsoft 365 / Azure AD SSO (office365-strategy)
          • custom: User-provided login function

          For API-based, certificate, or multi-tenant auth, see the authentication guide — these are configured programmatically.

        • Optionalusername?: string
      • OptionalcaptureFailureArtifacts?: boolean

        Whether to auto-capture diagnostic artifacts (screenshot, control tree, page context) on test failure.

        When true (default), the failure artifacts fixture automatically attaches a screenshot (PNG), UI5 control tree snapshot (JSON), and page metadata (JSON) to the test report on any test failure. Set to false to disable.

      • OptionalcontrolDiscoveryTimeout?: number
      • OptionalcontrolTreeCapture?: { enabled?: boolean; maxControls?: number; maxDepth?: number }
      • OptionaldefaultMatchSubclasses?: boolean

        Default value for matchSubclasses on selectors that don't specify it.

      • OptionaldiscoveryStrategies?: ("direct-id" | "recordreplay" | "registry")[]
      • OptionalignoreAutoWaitUrls?: string[]
      • OptionalinteractionStrategy?: "ui5-native" | "dom-first" | "opa5"
      • OptionallogLevel?: "error" | "debug" | "warn" | "info" | "verbose"
      • OptionalodataTracing?: { enabled?: boolean; urlPatterns?: string[] }
      • Optionalopa5?: { autoWait?: boolean; debug?: boolean; interactionTimeout?: number }
      • OptionalpreferVisibleControls?: boolean
      • Optionalselectors?: {
            defaultTimeout?: number;
            preferVisibleControls?: boolean;
            skipStabilityWait?: boolean;
        }
        • OptionaldefaultTimeout?: number

          Use top-level controlDiscoveryTimeout instead.

        • OptionalpreferVisibleControls?: boolean
        • OptionalskipStabilityWait?: boolean
      • OptionalskipStabilityWait?: boolean
      • Optionaltelemetry?: {
            batchTimeout?: number;
            connectionString?: string;
            endpoint?: string;
            exporter?: "otlp" | "azure-monitor" | "jaeger";
            maxQueueSize?: number;
            metrics?: boolean;
            openTelemetry?: boolean;
            protocol?: "http" | "grpc";
            resourceAttributes?: Record<string, string>;
            serviceName?: string;
        }
        • OptionalbatchTimeout?: number
        • OptionalconnectionString?: string

          Azure Monitor connection string. Required when exporter is 'azure-monitor'.

        • Optionalendpoint?: string
        • Optionalexporter?: "otlp" | "azure-monitor" | "jaeger"
        • OptionalmaxQueueSize?: number
        • Optionalmetrics?: boolean
        • OptionalopenTelemetry?: boolean
        • Optionalprotocol?: "http" | "grpc"
        • OptionalresourceAttributes?: Record<string, string>
        • OptionalserviceName?: string
      • Optionalui5WaitTimeout?: number
    import { presets } from 'playwright-praman';
    console.log(presets.ci.ui5WaitTimeout); // 15000