Skip to content

mrkanitkar/playwright-praman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

394 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

playwright-praman

Agent-First SAP UI5 Test Automation Plugin for Playwright

⭐ If Praman saves you time, star the repo — it helps others find it.

CI npm npm downloads GitHub stars License Node.js Platform Ask AI about Praman bundle size

Praman extends Playwright with deep SAP UI5 awareness — querying controls through the UI5 runtime registry, not fragile DOM selectors, so tests survive upgrades and theme changes. Describe your business process; AI agents deliver production-ready test scripts.

Comparing SAP test automation tools →

Who is Praman for?

Stakeholder Value
SAP test engineers Write reliable E2E tests for any S/4HANA or Fiori app in minutes — no DOM hunting, no fragile selectors
QA teams Replace manual SAP test scripting with AI-generated, self-healing Playwright tests purpose-built for UI5
AI coding agents (Claude Code, Copilot, Cursor, Jules) Generate production-ready SAP tests from a business process description, no source code or specs needed
Program leads & delivery managers Ship SAP go-lives with deployment evidence — not manual sign-off and hope

Quick Start

npm install playwright-praman
npx playwright-praman init

init scaffolds config, installs Chromium, and sets up AI agent definitions for your IDE.

cp .env.example .env
# Add SAP_CLOUD_BASE_URL, SAP_CLOUD_USERNAME, SAP_CLOUD_PASSWORD

Getting Started guide

Pick CLI Agents, MCP Agents, or Just Start Coding

Option A — AI Agents (recommended)

Describe your business process. Praman's plan → generate → heal pipeline does the rest.

Agent What it does
Planner Explores your live SAP system and produces a test plan
Generator Converts the plan into typed Playwright + Praman code
Healer Runs the test, fixes failures, repeats until green
Interface Transport Install Best For
Playwright MCP WebSocket (JSON-RPC) @playwright/mcp (separate) Interactive exploration, VS Code / Copilot
Playwright CLI stdin/stdout Built into Playwright 1.59+ CI/CD, token-efficient, any terminal agent

Agent files with a -cli suffix use Playwright CLI; files without use Playwright MCP.

Agent & IDE Setup · MCP vs CLI · CLI Agents Guide

Option B — Write Tests Manually

import { test, expect } from 'playwright-praman';

test('create purchase order', async ({ page, ui5, ui5Navigation }) => {
  await ui5Navigation.navigateToTile('Purchase Orders');
  await ui5.waitForUI5();

  const createBtn = await ui5.control({
    controlType: 'sap.m.Button',
    properties: { text: 'Create' },
  });
  await createBtn.press();
  await ui5.waitForUI5();
});

Fixtures available: ui5, ui5Navigation, sapAuth, fe, ui5.table, ui5.dialog, ui5.odata, intent, pramanAI, testData, controlTree, shellFooter, flpLocks.

Fixture Reference · Selector Reference · Examples

What You Can Do with Praman

  • Test any SAP UI5 control — 199 control types covered (sap.m, sap.ui.table, sap.ui.comp, sap.uxap, sap.f, sap.ui.mdc)
  • Write tests with full IntelliSense — typed control proxies, no DOM digging, no guessing selectors
  • Never write waitForTimeout() again — UI5 stability sync handles all timing automatically
  • Authenticate with any SAP system — BTP SAML, Basic Auth, Office 365, Client Certificate, Custom IDP, Manual
  • Verify your backend — mock, intercept, and assert OData V2/V4 requests with tracing reports
  • Test Fiori Elements apps without boilerplate — List Report, Object Page, and Overview Page helpers included
  • Assert SAP state natively — 10 UI5-specific matchers extend Playwright's expect()
  • Express tests in business language — Vocabulary & Intent API maps SAP field names to selectors automatically
  • Run anywhere — Windows, macOS, Linux · Node.js 22+ · TypeScript 5.x & 6.x

Full capability reference

Documentation

Topic Link
Full documentation praman.dev
Getting started Getting Started
Configuration Configuration
Authentication Authentication
Agent & IDE setup Agent Setup
Fixtures reference Fixtures
Discovery & interaction strategies Strategies
Vocabulary system Vocabulary
Intent API Intents
OData tracing OData Tracing
Error codes Errors
Release notes Release Notes
API reference API Docs
LLM-friendly docs llms.txt

Migrating from Another Tool?

FAQ

Do I need SAP source code? No — Praman uses the public UI5 runtime API (sap.ui.getCore()).

Does it work with existing Playwright tests? Yes — Praman extends Playwright. Mix ui5 fixtures with native page.click() in the same file.

Which SAP systems are supported? S/4HANA (cloud and on-premise), BTP, Fiori Launchpad, SAPUI5, and OpenUI5 — both Fiori Elements and freestyle apps.

Full FAQ

Security

  • 3 production dependencies (commander, pino, zod — all MIT)
  • npm provenance attestation on every release
  • SHA-pinned GitHub Actions · CycloneDX SBOM per release

SECURITY.md

Support

If Praman saves you time, please ⭐ star the repo.

License

Apache-2.0