Skip to main content

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