Skip to content

feat(wdi5): Introduce tooling for support of UI5 applications - #154

Open
Winify wants to merge 4 commits into
mainfrom
feature/wdi5
Open

Winify wants to merge 4 commits into
mainfrom
feature/wdi5

Conversation

@Winify

@Winify Winify commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Proposed changes

Types of changes

  • Polish (an improvement for an existing feature)
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (improvements to the project's docs)
  • Specification changes (updates to WebDriver command specifications)
  • Internal updates (everything related to internal scripts, governance documentation and CI files)

Checklist

  • I have squashed commits that belong together
  • I have tested with Claude Desktop (or another MCP-compatible client)
  • I have read the CONTRIBUTING doc
  • I have added the necessary documentation for new/changed tools (if appropriate)
  • I have added proper type definitions for new commands (if appropriate)

Further comments

Reviewers: @webdriverio/project-committers

@greptile-apps

greptile-apps Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge; all three previous blocking lifecycle and bridge findings are fully addressed, with no new actionable issue established by the follow-up changes.

Findings

  1. P1 Failed Startup Leaks Session ▶
  2. P1 Replacement Cleanup Erases State ▶
  3. P1 Discovery Skips Bridge Reinjection ▶

Summary

This PR adds local SAP UI5 automation through wdi5, including UI5 session startup, authentication and bridge initialization, control discovery, UI5 selectors for click and value actions, lifecycle cleanup, recording behavior, documentation, and tests. Since the previous review, it also:

  • Cleans up registered UI5 sessions when startup fails.
  • Makes UI5 global cleanup conditional on browser ownership.
  • Reinjects the UI5 bridge before control discovery after navigation or authentication redirects.
  • Adds focused regression coverage for all three fixes.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[start_session platform ui5] --> B[Create local WebDriver session]
    B --> C[Register active session]
    C --> D[Initialize wdi5 globals and commands]
    D --> E{Authentication or bridge setup succeeds?}
    E -->|No| F[Close failed registered session]
    E -->|Yes| G[UI5 session ready]
    G --> H[get_elements]
    G --> I[click_element / set_value]
    H --> J[Ensure bridge is injected]
    I --> J
    J --> K[Resolve UI5 controls and perform operation]
    G --> L[Close or replacement]
    L --> M[Clear globals only when owned by closing browser]
Loading

Reviews (2) · Last reviewed commit: "docs(wdi5): add README section with auth..."

Comment thread src/tools/session.tool.ts Outdated
Comment thread src/ui5/runtime.ts Outdated
Comment thread src/scripts/get-elements.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant