# Praman — Agent-First SAP UI5 Test Automation Plugin for Playwright > Praman extends Playwright with deep SAP UI5 awareness — typed control proxies, UI5 stability synchronization, FLP navigation, OData operations, Fiori Elements testing, and AI-powered test generation. Single npm package: playwright-praman. > Praman is an AI-first SAP UI5 test automation plugin for Playwright. > Install: `npm install playwright-praman @playwright/test` > Import: `import { test, expect } from 'playwright-praman';` ## Table of Contents - [Playwright Plugin for SAP Testing — Praman Documentation](https://praman.dev//docs/intro.md): Complete documentation for Praman — the open-source Playwright plugin for SAP S/4HANA, Fiori, and UI5 test automation. 199 controls, OData, AI test... - [Getting Started](https://praman.dev//docs/guides/getting-started.md): Two commands to get started with Praman. Install, init, and let AI agents generate production-ready SAP UI5 Playwright tests. - [Configuration Reference](https://praman.dev//docs/guides/configuration.md): Complete Praman configuration reference. Zod-validated config schema with defaults for SAP UI5 test automation, auth strategies, and bridge settings. - [Fixture Reference](https://praman.dev//docs/guides/fixtures.md): Reference for all 21 Praman Playwright fixtures: ui5, sapAuth, ui5Navigation, ui5Table, fe, odata, pramanAI, and more. Destructure and test. - [Selector Reference](https://praman.dev//docs/guides/selectors.md): UI5Selector reference for Praman. Find SAP UI5 controls by controlType, id, properties, bindingPath, ancestor, and descendant selectors. - [UI5 Control Interactions](https://praman.dev//docs/guides/control-interactions.md): Click, fill, select, check, and read UI5 controls with Praman. Auto-waiting, typed returns, and SAP event firing built in. - [Typed Control Returns](https://praman.dev//docs/guides/typed-controls.md): Get full TypeScript autocomplete for 199 SAP UI5 controls. Typed return types from ui5.control() with controlType string literals. - [Custom Matchers](https://praman.dev//docs/guides/custom-matchers.md): 10 UI5-specific Playwright matchers: toHaveUI5Text, toBeUI5Visible, toBeUI5Enabled, and more. Extend expect() for SAP testing. - [Authentication Guide](https://praman.dev//docs/guides/authentication.md): 6 SAP authentication strategies for Playwright tests: BTP SAML, Basic Auth, Office 365, Client Certificate, Custom IDP, and Manual login. - [Navigation](https://praman.dev//docs/guides/navigation.md): 11 FLP navigation methods for Praman. Navigate SAP Fiori Launchpad apps by semantic object and action, with BTP WorkZone support. - [Fiori Elements Testing](https://praman.dev//docs/guides/fiori-elements.md): Test SAP Fiori Elements apps with Praman. Page-object helpers for List Report, Object Page, Overview Page, and FE Table operations. - [OData Operations](https://praman.dev//docs/guides/odata-operations.md): OData V2 and V4 testing with Praman. Browser-side model operations and Node-side HTTP CRUD for SAP OData services. - [OData Mocking](https://praman.dev//docs/guides/odata-mocking.md): Strategies for mocking OData services in Praman tests. Covers Playwright `page.route()` - [SAP Control Cookbook](https://praman.dev//docs/guides/sap-control-cookbook.md): Recipes for testing common SAP UI5 controls with Praman: SmartTable, SmartField, DatePicker, Dialog, ComboBox, Tree, and more. - [Error Reference](https://praman.dev//docs/guides/errors.md): Complete Praman error reference: 14 error classes, 66 error codes with retryable flags and actionable suggestions for SAP UI5 testing. - [Debugging & Troubleshooting](https://praman.dev//docs/guides/debugging.md): This guide covers Praman's debugging tools, log configuration, trace viewer integration, and solutions to common issues. - [Feature Inventory](https://praman.dev//docs/guides/capabilities.md): Complete feature inventory for Praman v1.0. Each entry documents what the feature does, why it matters, - [Capabilities & Recipes Guide](https://praman.dev//docs/guides/capabilities-recipes.md): Praman ships with a capability registry and a recipe registry that describe what the framework - [Intent API](https://praman.dev//docs/guides/intent-api.md): The `playwright-praman/intents` sub-path provides high-level, business-oriented test operations for SAP S/4HANA modules. Instead of interacting - [Vocabulary System](https://praman.dev//docs/guides/vocabulary-system.md): The `playwright-praman/vocabulary` sub-path provides a controlled vocabulary system for SAP S/4HANA business term resolution. It maps - [Discovery and Interaction Strategies](https://praman.dev//docs/guides/discovery-and-interaction.md): Praman discovery and interaction strategies: direct-id, recordreplay, registry lookup. 3 interaction modes: ui5-native, dom-first, opa5. - [Fixture Composition](https://praman.dev//docs/guides/fixture-composition.md): Praman uses Playwright's `mergeTests()` to compose fixture modules into a single `test` object. - [Control Proxy Pattern](https://praman.dev//docs/guides/control-proxy.md): Every UI5 control discovered by Praman is wrapped in a JavaScript `Proxy` that routes method - [Bridge Internals](https://praman.dev//docs/guides/bridge-internals.md): :::info[Contributor Only] - [Architecture Overview](https://praman.dev//docs/guides/architecture-overview.md): Praman v1.0 ships as a single npm package (`playwright-praman`) with sub-path exports, organized into a strict 6-layer architecture where lower lay... - [AI Integration](https://praman.dev//docs/guides/ai-integration.md): AI-powered SAP test generation with Praman. LLM service integration, page discovery, agentic test handler, and capability registry. - [Agent & IDE Setup](https://praman.dev//docs/guides/agent-setup.md): Set up AI agents and IDE integrations for Praman SAP test automation with Claude Code, Copilot, Cursor, and VS Code. - [Integrating with AI Agent Frameworks](https://praman.dev//docs/guides/agent-framework-integrations.md): :::info Roadmap - [Gold Standard Test Pattern](https://praman.dev//docs/guides/gold-standard-test.md): Complete reference test for Praman. Demonstrates test.step, fixtures, semantic selectors, custom matchers, error handling, and data cleanup. - [Playwright Primer for SAP Testers](https://praman.dev//docs/guides/playwright-primer.md): Learn Playwright from scratch as an SAP tester. Covers TypeScript basics, async/await, fixtures, assertions, and test structure for Fiori apps. - [Reporters](https://praman.dev//docs/guides/reporters.md): Praman ships three custom Playwright reporters: **ComplianceReporter** for measuring Praman - [Docker & CI/CD](https://praman.dev//docs/guides/docker-cicd.md): Run Praman SAP UI5 tests in Docker and CI/CD. Container setup, 3-OS GitHub Actions matrix, and quality gate configuration. - [Cross-Browser Testing](https://praman.dev//docs/guides/cross-browser.md): How to configure Playwright projects for multi-browser SAP UI5 testing. Covers browser-specific - [Visual Regression Testing](https://praman.dev//docs/guides/visual-regression.md): How to use Playwright's `toHaveScreenshot()` with SAP UI5 apps for visual regression testing. - [Accessibility Testing](https://praman.dev//docs/guides/accessibility-testing.md): How to use `@axe-core/playwright` alongside Praman to validate accessibility (a11y) in SAP - [Component Testing](https://praman.dev//docs/guides/component-testing.md): How to test individual UI5 components in isolation using Playwright's `webServer` option with - [Performance Benchmarks](https://praman.dev//docs/guides/performance-benchmarks.md): Performance targets, measurement methodology, and regression detection for Praman's core - [Lifecycle Hook Extensibility](https://praman.dev//docs/guides/lifecycle-extensibility.md): Extend praman's test lifecycle using Playwright-native patterns - [Multi-Tool Integration](https://praman.dev//docs/guides/multi-tool-integration.md): Praman generates test results as standard Playwright output (HTML, JUnit XML, JSON). For teams - [Cloud ALM Integration](https://praman.dev//docs/guides/cloud-alm-integration.md): :::warning Correction notice - [SAP Activate Alignment](https://praman.dev//docs/guides/sap-activate-alignment.md): Maps Praman test patterns to SAP Activate methodology phases. This guide helps project teams - [SAP Transaction Mapping](https://praman.dev//docs/guides/transaction-mapping.md): Maps 50+ SAP transaction codes to their Fiori equivalents and the corresponding Praman - [Business Process Examples](https://praman.dev//docs/guides/business-process-examples.md): End-to-end SAP test examples for Purchase Orders, Sales Orders, Journal Entries, and P2P flows using Praman and Playwright. - [POST Upgrade Testing](https://praman.dev//docs/guides/upgrade-testing.md): How to use Praman for validating SAP system upgrades, support pack stacks, and Fiori - [Behavioral Equivalence](https://praman.dev//docs/guides/behavioral-equivalence.md): Praman v1.0 is a ground-up rewrite. Behavioral equivalence testing ensures it produces the - [Glossary](https://praman.dev//docs/guides/glossary.md): Definitions of key terms used throughout Praman documentation. Each term includes a definition, - [Migration from Vanilla Playwright](https://praman.dev//docs/guides/migration-from-playwright.md): Layer Praman on top of your existing Playwright tests for SAP UI5 apps. Keep everything you have, add UI5 control registry access, auto-waiting, an... - [Migration from wdi5](https://praman.dev//docs/guides/migration-from-wdi5.md): Step-by-step guide to migrate from wdi5 to Praman. Complete API mapping from browser.asControl() to ui5.control() with Playwright. - [From Tosca to Playwright-Praman](https://praman.dev//docs/guides/migration-from-tosca.md): Migrate from Tricentis Tosca to Playwright + Praman for SAP Fiori and UI5 testing. Concept mapping, workflow changes, and step-by-step migration path. - [From Selenium WebDriver](https://praman.dev//docs/guides/migration-from-selenium.md): Migrate from Selenium WebDriver to Playwright + Praman for SAP testing. Maps every Selenium concept (drivers, waits, locators, POM) to Playwright e... - [For SAP Business Analysts](https://praman.dev//docs/guides/sap-business-analyst-guide.md): SAP business analysts can define test scenarios in business language. Praman AI agents generate Playwright tests for Purchase-to-Pay, Order-to-Cash... - [Running Your Agent for the First Time](https://praman.dev//docs/guides/running-your-agent.md): Step-by-step guide to run Praman AI agents: plan, generate, heal, and produce gold-standard SAP Playwright tests autonomously. - [Azure Playwright Workspaces](https://praman.dev//docs/guides/azure-playwright-workspaces.md): Run Praman SAP UI5 tests at scale using cloud-hosted browsers with **Azure Playwright Workspaces** — - [Example Reports & Data Architecture](https://praman.dev//docs/guides/example-reports.md): Praman generates 12 dashboard reports that provide a comprehensive view of SAP S/4HANA quality across functional testing, performance, accessibility, - [Test Data Management](https://praman.dev//docs/guides/test-data-management.md): Reliable SAP UI5 tests require predictable, isolated test data. Praman provides a `TestDataHandler` fixture for generating templated data, - [Parallel Execution & Sharding](https://praman.dev//docs/guides/parallel-execution.md): Running SAP UI5 tests in parallel dramatically reduces feedback time. This guide covers Playwright's parallelization model, SAP-specific considerat... - [Custom Control Extension](https://praman.dev//docs/guides/custom-controls.md): SAP projects frequently use custom UI5 controls that extend standard controls or create entirely - [Localization & i18n Testing](https://praman.dev//docs/guides/i18n-testing.md): SAP applications serve a global user base. Testing across languages, locales, and text directions ensures that UI elements render correctly - [Security Testing Patterns](https://praman.dev//docs/guides/security-testing.md): SAP applications handle sensitive business data and must enforce strict security boundaries. This guide covers automated security testing patterns - [WebSocket & Real-Time Testing](https://praman.dev//docs/guides/websocket-testing.md): Some SAP applications use WebSocket connections for real-time features such as collaborative editing, live notifications, and push-based data - [Changelog](https://praman.dev//docs/changelog.md): - **telemetry:** full OpenTelemetry tracing and metrics integration (OTLP, Jaeger, Azure Monitor) - [Security Policy](https://praman.dev//docs/security.md): Please do NOT report security vulnerabilities through public GitHub issues. - [Auth Setup](https://praman.dev//docs/examples/auth-setup.md): Complete SAP authentication setup supporting OnPrem, BTP Cloud SAML, and Office 365 strategies. - [Basic Test](https://praman.dev//docs/examples/basic-test.md): The simplest possible Praman test. Demonstrates control discovery by type and property, property verification, and `ui5.press()`. - [BTP Multi-Tenant Auth](https://praman.dev//docs/examples/btp-multi-tenant.md): Demonstrates how to handle multi-tenant authentication on SAP BTP Work Zone, including tenant switching, session isolation, and tenant-scoped data ... - [Dialog Handling](https://praman.dev//docs/examples/dialog-handling.md): Demonstrates how to open, interact with, and close SAP UI5 dialogs using Praman. - [Fiori Elements](https://praman.dev//docs/examples/fiori-elements.md): Demonstrates testing SAP Fiori Elements applications using Praman's `playwright-praman/fe` sub-path helpers: List Report filter bar operations, var... - [Gold Standard BOM E2E](https://praman.dev//docs/examples/gold-standard-bom.md): A complete end-to-end test for SAP Bill of Material (BOM) maintenance using V1 SmartField controls (`sap.ui.comp`). This is the Praman **gold stand... - [Hybrid Login](https://praman.dev//docs/examples/hybrid-login.md): Demonstrates the **auto-fallback** pattern: use Playwright native locators for non-UI5 pages (login forms, IDP redirects) and seamlessly switch to ... - [Examples Overview](https://praman.dev//docs/examples/index.md): Complete, runnable Praman test examples demonstrating real SAP UI5 test patterns. - [Intent API](https://praman.dev//docs/examples/intent-api.md): Demonstrates Praman's intent-based testing layer from `playwright-praman/intents`: core wrappers (`fillField`, `clickButton`, `assertField`, `selec... - [OData CRUD Operations](https://praman.dev//docs/examples/odata-crud.md): Demonstrates the full OData lifecycle using Praman's `ui5.odata` fixture: model operations (browser-side reads), HTTP operations (direct CRUD), CSR... - [Table Operations](https://praman.dev//docs/examples/table-operations.md): Demonstrates how to interact with SAP UI5 tables: discovering SmartTables, reading rows, and accessing OData binding data. - [Vocabulary Discovery](https://praman.dev//docs/examples/vocabulary-discovery.md): Demonstrates Praman's vocabulary system from `playwright-praman/vocabulary`: domain loading, fuzzy term search, confidence scoring, field selector ... - [Browser Bind & Screencast Fixtures](https://praman.dev//docs/guides/browser-bind.md): Expose the test browser to Playwright CLI agents with browserBind, and record structured video with screencast — opt-in fixtures for agentic SAP UI... - [Agents and Skills](https://praman.dev//docs/guides/claude-code-plugin-agents-skills.md): 5 AI agents and 8 auto-activating skills powering SAP test automation in the Praman plugin. - [Plugin Commands Reference](https://praman.dev//docs/guides/claude-code-plugin-commands.md): 4 slash commands for SAP test automation: plan, generate, heal, and full coverage pipeline. - [19 Forbidden Patterns](https://praman.dev//docs/guides/claude-code-plugin-forbidden-patterns.md): Zero-tolerance patterns in Praman SAP tests with correct alternatives and auto-fix behavior. - [Plugin Installation and Setup](https://praman.dev//docs/guides/claude-code-plugin-installation.md): Install the Praman SAP testing plugin for Claude Code with environment variables and auth configuration. - [7 Mandatory Rules and Rule 0](https://praman.dev//docs/guides/claude-code-plugin-mandatory-rules.md): The 8 non-negotiable rules every Praman-generated SAP test must follow, with code examples. - [Claude Code Plugin Overview](https://praman.dev//docs/guides/claude-code-plugin-overview.md): Agent-first SAP UI5 test automation plugin for Claude Code with 5 agents, 4 commands, and 8 skills. - [Plugin Troubleshooting](https://praman.dev//docs/guides/claude-code-plugin-troubleshooting.md): Fix common issues: bridge failures, auth errors, selector problems, timing, and V2/V4 mismatches. - [End-to-End Walkthrough](https://praman.dev//docs/guides/claude-code-plugin-walkthrough.md): Complete walkthrough: plan, generate, heal, and run passing SAP tests with the Praman plugin. - [Claude Cowork Plugin](https://praman.dev//docs/guides/claude-cowork-plugin.md): Install and use the Praman SAP testing plugin in Claude Cowork for collaborative, chat-first test automation. - [Playwright Compatibility](https://praman.dev//docs/guides/compatibility.md): Supported Playwright versions for playwright-praman with CI-tested compatibility matrix. - [Debugging Agent Failures](https://praman.dev//docs/guides/debugging-agent-failures.md): Step-by-step guide for diagnosing and fixing failures in AI-agent-generated Praman tests - [Interactive Inspector](https://praman.dev//docs/guides/inspect-command.md): Use npx praman inspect to discover UI5 controls, properties, bindings, and selectors interactively in a live SAP application. - [Finding Controls with Locators](https://praman.dev//docs/guides/locator-selector-syntax.md): How to find UI5 controls using CSS-style and XPath selectors with page.locator("ui5=..."). - [MCP vs CLI](https://praman.dev//docs/guides/mcp-vs-cli.md): Choosing between MCP and Playwright CLI for Praman SAP test automation. Comparison of token cost, latency, IDE support, and use cases. - [Praman CLI Agents for Playwright CLI](https://praman.dev//docs/guides/playwright-cli-agents.md): Praman CLI Agents — three AI agent definitions built on the Playwright CLI for token-efficient SAP UI5 test automation. Claude Code, GitHub Copilot... - [Control Discovery via Playwright CLI](https://praman.dev//docs/guides/playwright-cli-discovery.md): Discover SAP UI5 controls using the Playwright CLI and the Praman bridge — single lookups, bulk enumeration, property inspection, dialog discovery,... - [Iframe Handling via Playwright CLI](https://praman.dev//docs/guides/playwright-cli-iframes.md): Handle SAP iframes in Playwright CLI sessions — auto-injection via initScript, frame listing, cross-origin limitations, and common SAP iframe patte... - [Playwright CLI for SAP Testing](https://praman.dev//docs/guides/playwright-cli-overview.md): Overview of Praman + Playwright CLI integration — a token-efficient alternative to MCP for AI-driven SAP UI5 test automation. Setup, discovery, age... - [Playwright CLI Quick Reference](https://praman.dev//docs/guides/playwright-cli-reference.md): Complete command reference for Playwright CLI used with Praman SAP UI5 testing. Commands, patterns, session management, and auth workflows. - [Playwright CLI Setup](https://praman.dev//docs/guides/playwright-cli-setup.md): Set up Praman with the Playwright CLI — a token-efficient alternative to MCP for AI agent browser automation. - [Quick Reference](https://praman.dev//docs/guides/quick-reference.md): One-page cheat sheet for Praman — selectors, fixtures, patterns, errors, and configuration. - [Stability & Timing](https://praman.dev//docs/guides/stability-timing.md): How Praman manages UI5 stability waits with a 3-tier strategy so your tests never need page.waitForTimeout(). - [Telemetry Setup](https://praman.dev//docs/guides/telemetry.md): Enable OpenTelemetry tracing and metrics in playwright-praman for distributed observability of SAP UI5 test execution. - [Troubleshooting](https://praman.dev//docs/guides/troubleshooting.md): Step-by-step diagnostic guide for common Praman issues with error-code-driven flowchart - [Capability Registry](https://praman.dev//docs/reference/capability-registry.md): Machine-readable registry of all Praman capabilities, APIs, guarantees, and failure modes for SAP test engineers, QA leads, and AI agents. - [Release Notes](https://praman.dev//docs/release-notes.md): What's new in playwright-praman — version history, new features, breaking changes, and upgrade guidance.