Function: discoverPage()
discoverPage(
page,options?):Promise<AiResponse<PageContext>>
Defined in: src/ai/bulk-discovery.ts:475
Discovers all UI5 controls on the current Playwright page.
Parameters​
page​
DiscoveryPage
Playwright Page instance (or any structural equivalent).
options?​
DiscoverPageOptions = {}
Optional filtering and timeout options.
Returns​
Promise<AiResponse<PageContext>>
AiResponse<PageContext> — 'success' with a full snapshot or
'error' with a recoverable error payload.
Remarks​
Calls sap.ui.core.ElementRegistry.all() (UI5 ≥ 1.106) in the browser,
falling back to sap.ui.getCore().mElements for older runtimes. Each
discovered control is classified by interactivity, container membership, and
object category. The result is partitioned into buttons, formFields,
tables, and navigationElements for convenient AI consumption.
The browser-side script is serialized via fn.toString() — module-level
imports are not available in the browser callback.
Intent​
Enumerate all UI5 controls for AI-driven selector generation.
Capability​
ui5-bulk-discovery
Sap Module​
All
Example​
import { discoverPage } from '#ai/bulk-discovery.js';
// Basic usage
const response = await discoverPage(page, { interactiveOnly: true });
if (response.status === 'success') {
logger.info(`${response.data.controls.length} controls found`);
}
// With pagination
const paged = await discoverPage(page, { limit: 20, offset: 40 });