# Praman — AI-First SAP UI5 Test Automation 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 - [Praman](https://praman.dev//docs/intro.md): **AI-First SAP UI5 Test Automation Plugin for Playwright.** - [Getting Started](https://praman.dev//docs/guides/getting-started.md): Get up and running with Praman in 5 steps. - [Configuration Reference](https://praman.dev//docs/guides/configuration.md): Praman uses a Zod-validated configuration system. All fields have defaults — an empty `{}` is valid. - [Fixture Reference](https://praman.dev//docs/guides/fixtures.md): Praman provides 12 fixture modules merged into a single `test` object via Playwright's `mergeTests()`. - [Selector Reference](https://praman.dev//docs/guides/selectors.md): Selectors are the primary way to find UI5 controls on a page. Praman uses `UI5Selector` objects - [UI5 Control Interactions](https://praman.dev//docs/guides/control-interactions.md): The `ui5` fixture provides high-level methods for interacting with UI5 controls. Each method - [Typed Control Returns](https://praman.dev//docs/guides/typed-controls.md): When you call `ui5.control()` with a `controlType` string, Praman narrows the return type to a - [Custom Matchers](https://praman.dev//docs/guides/custom-matchers.md): Praman extends Playwright's `expect()` with 10 UI5-specific matchers that query control state - [Authentication Guide](https://praman.dev//docs/guides/authentication.md): Praman supports 6 pluggable authentication strategies for SAP systems. - [Navigation](https://praman.dev//docs/guides/navigation.md): Praman provides 9 navigation functions via the `ui5Navigation` fixture, plus BTP WorkZone - [Fiori Elements Testing](https://praman.dev//docs/guides/fiori-elements.md): The `playwright-praman/fe` sub-path provides specialized helpers for testing SAP Fiori Elements applications, including List Report, Object Page, t... - [OData Operations](https://praman.dev//docs/guides/odata-operations.md): Praman provides two approaches to OData data access: **model operations** (browser-side, via - [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): A practical reference for interacting with the most common SAP UI5 controls in Praman tests. - [Error Reference](https://praman.dev//docs/guides/errors.md): Praman provides 14 typed error classes with 58 machine-readable error codes. Every error includes - [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 wit... - [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 natural-langu... - [Discovery and Interaction Strategies](https://praman.dev//docs/guides/discovery-and-interaction.md): Praman uses two configurable strategy systems to find and interact with UI5 controls. - [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 5-layer architecture where lower lay... - [AI Integration](https://praman.dev//docs/guides/ai-integration.md): Praman is an AI-first test automation plugin. The `playwright-praman/ai` sub-path provides structured interfaces for LLM-driven test generation, pa... - [Agent & IDE Setup](https://praman.dev//docs/guides/agent-setup.md): `npx playwright-praman init` scaffolds your project and, based on the IDEs it detects, - [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): A complete reference test that demonstrates every Praman best practice in a single runnable - [Playwright Primer for SAP Testers](https://praman.dev//docs/guides/playwright-primer.md): A ground-up introduction to Playwright and Praman for testers coming from SAP testing backgrounds - [Reporters](https://praman.dev//docs/guides/reporters.md): Praman ships two custom Playwright reporters: **ComplianceReporter** for measuring Praman - [Docker & CI/CD](https://praman.dev//docs/guides/docker-cicd.md): Praman's CI/CD pipeline runs on GitHub Actions with a 3-OS matrix, Docker support for containerized test execution, and comprehensive quality gates. - [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): Complete end-to-end test examples for core SAP business processes. Each example is runnable - [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): Already using Playwright for web testing? This guide shows when and how to layer Praman on top - [Migration from wdi5](https://praman.dev//docs/guides/migration-from-wdi5.md): Migrate your wdi5 test suite to Playwright-Praman with minimal friction. This guide maps every - [From Tosca to Playwright-Praman](https://praman.dev//docs/guides/migration-from-tosca.md): A comprehensive guide for teams migrating from Tricentis Tosca to Playwright + Praman for - [From Selenium WebDriver](https://praman.dev//docs/guides/migration-from-selenium.md): Migrating from Selenium WebDriver (Java, Python, C#, or JavaScript) to Playwright + Praman for - [For SAP Business Analysts](https://praman.dev//docs/guides/sap-business-analyst-guide.md): You know SAP business processes inside out. You can walk through a Purchase-to-Pay cycle - [Running Your Agent for the First Time](https://praman.dev//docs/guides/running-your-agent.md): From business process to Playwright test — autonomously. This guide walks you through the complete flow of using Praman's AI agents to discover an ... - [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** — no local machine required. GitHub Actions runs... - [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, accessibilit... - [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, persisti... - [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 new ones. This guide explains how to interact with... - [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 regardl... - [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 updat... - [Changelog](https://praman.dev//docs/changelog.md): - LICENSE copyright holder updated - [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 ... - [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.