Skip to main content
Version: 1.x

Glossary

Definitions of key terms used throughout Praman documentation. Each term includes a definition, the equivalent concept in SAP Tosca, and the equivalent in wdi5.

A

Assertion

A verification that checks whether the application state matches expectations. Praman uses Playwright's expect() and custom SAP-specific matchers.

FrameworkTerm / API
Pramanexpect(), ui5Matchers.toHaveText()
ToscaVerify module, TBox verification
wdi5expect() (Jasmine/Mocha)

Auto-Waiting

Playwright automatically waits for elements to be actionable (visible, enabled, stable) before performing actions. Praman extends this with UI5-specific waiting (pending requests, framework busy).

FrameworkTerm / API
PramanBuilt-in, waitForUI5Stable()
ToscaImplicit synchronization
wdi5wdi5.waitForUI5()

B

Bridge

The communication layer between Node.js (Playwright) and the browser's UI5 runtime. Praman sends commands via page.evaluate() to interact with the UI5 control tree.

FrameworkTerm / API
PramanBridgeAdapter, #bridge/*
ToscaEngine / Scan
wdi5wdi5 bridge (WebSocket/HTTP)

Browser Context

A Playwright concept representing an isolated browser session with its own cookies, storage, and cache. Used for parallel test isolation.

FrameworkTerm / API
PramanBrowserContext (Playwright)
ToscaBrowser instance
wdi5Browser session (WebDriverIO)

C

Capability

A named feature that Praman exposes, combining multiple low-level operations into a high-level business action. Capabilities are discoverable by AI agents.

FrameworkTerm / API
Praman@capability TSDoc tag, capability registry
ToscaModule
wdi5Not available

Control

A UI5 widget (button, input, table, etc.) managed by the UI5 framework. Controls have properties, events, and aggregations. Praman interacts with controls via their UI5 identity, not their DOM representation.

FrameworkTerm / API
Pramanui5.control(), ControlProxy
ToscaControl / TBox
wdi5browser.asControl()

F

Fixture

A Playwright concept for dependency injection in tests. Fixtures provide reusable setup/teardown logic and are declared in the test function signature.

FrameworkTerm / API
Pramanui5, ui5Navigation, feListReport, etc.
ToscaTest Configuration Parameters
wdi5Not available (uses before/after hooks)

H

Hook

A function that runs before or after tests/suites. Used for setup (auth, navigation) and teardown (data cleanup).

FrameworkTerm / API
Pramantest.beforeAll(), test.beforeEach(), test.afterAll(), test.afterEach()
ToscaSetUp / TearDown test steps
wdi5before(), beforeEach(), after(), afterEach()

I

Intent

A semantic navigation target in SAP Fiori Launchpad, composed of a semantic object and action (e.g., #PurchaseOrder-create). In Praman's AI layer, intents also describe what the user wants to accomplish.

FrameworkTerm / API
Pramanui5Navigation.navigateToIntent(), @intent TSDoc tag
ToscaNavigation module
wdi5wdi5.goTo() (URL-based)

L

Locator

A Playwright object that represents a way to find element(s) on the page. Locators are lazy and auto-waiting. Praman converts UI5 selectors to locators internally.

FrameworkTerm / API
Pramancontrol.getLocator(), internal use
ToscaScan result reference
wdi5WebDriverIO element

M

mergeTests()

A Playwright utility that combines multiple test fixture sets into one. Used to compose Praman fixtures with custom project fixtures.

FrameworkTerm / API
PramanmergeTests(pramanTest, customTest)
ToscaModule composition
wdi5Not available

P

Page Object

A design pattern that encapsulates page-specific selectors and interactions behind a clean API. Praman's fixtures serve a similar role without requiring explicit page object classes.

FrameworkTerm / API
PramanFixtures (implicit page objects), or explicit classes
ToscaModule
wdi5Page object classes

Proxy

A typed wrapper around a remote UI5 control. The proxy provides a type-safe API for reading properties and invoking methods, while internally communicating via the bridge.

FrameworkTerm / API
PramanControlProxy, #proxy/*
ToscaControl wrapper
wdi5WDI5Control

R

Recipe

A pre-built sequence of Praman operations for common SAP tasks. Recipes combine navigation, interaction, and verification into a single reusable function.

FrameworkTerm / API
Praman@recipe TSDoc tag, recipe registry
ToscaReusable test step block
wdi5Not available

Reporter

A Playwright plugin that processes test results and generates reports. Praman ships ComplianceReporter and ODataTraceReporter.

FrameworkTerm / API
PramanComplianceReporter, ODataTraceReporter
ToscaExecution log
wdi5Allure / spec reporter

S

Selector

An object describing how to find a UI5 control. Unlike CSS selectors, Praman selectors query the UI5 control tree using control type, properties, binding paths, and ancestry.

FrameworkTerm / API
PramanUI5Selector object
ToscaTBox properties / Scan
wdi5wdi5Selector object

storageState

A Playwright mechanism for persisting browser session data (cookies, localStorage) to a JSON file. Used for sharing authentication across tests.

FrameworkTerm / API
Pramancontext.storageState({ path })
ToscaSession management
wdi5Cookie injection

T

test.step()

A Playwright method that groups related actions into a named step. Steps appear in traces and reports, making failures easy to locate.

FrameworkTerm / API
Pramanawait test.step('description', async () => { ... })
ToscaTest step
wdi5it() / custom logging

Trace

A Playwright recording that captures screenshots, network activity, console logs, and action timelines for post-mortem debugging.

FrameworkTerm / API
Pramantrace: 'on-first-retry' in config
ToscaExecution log with screenshots
wdi5Not built-in (manual screenshots)

W

Worker

A Playwright process that runs tests in parallel. Each worker gets its own browser instance and isolated state. SAP tests typically use workers: 1 for stateful processes.

FrameworkTerm / API
Pramanworkers in playwright.config.ts
ToscaDistributed execution agent
wdi5WebDriverIO maxInstances

Quick Reference Table

TermPramanToscawdi5
Find controlui5.control()TBox Scanbrowser.asControl()
Clickui5.click()Click moduleelement.click()
Fill inputui5.fill()Set moduleelement.setValue()
Navigateui5Navigation.navigateToIntent()Navigation modulewdi5.goTo()
Wait for UI5AutomaticImplicit syncwdi5.waitForUI5()
Verify textui5Matchers.toHaveText()Verify moduleexpect().toHaveText()
Auth setupSetup project + storageStateSession managementCookie injection
Run testsnpx playwright testTosca Commandernpx wdio run
DebugPWDEBUG=1, trace viewerTosca debug mode--inspect flag
ReportHTML + ComplianceReporterExecution logAllure / spec