You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API contract: describe the automation API with an OpenAPI specification so the surface is versioned, documented, and used to generate clients.
Automation client / test runner: Playwright to drive the API and assert outcomes.
Scope / tasks
Define a stable, localhost-only automation API surface (endpoints for locating project-tree nodes, reading/editing PDM fields, invoking commands, and querying view state such as visible cells).
Author an OpenAPI specification for the automation API; treat the spec as the source of truth and use it to generate/validate clients and document the surface.
Add a Playwright-based test project/runner that calls the API (driven by the OpenAPI-described endpoints).
Implement the reference workflow as the first end-to-end test: create a range filter → verify it exists → manipulate it → verify visible cells update → delete it → verify the filter is gone and the view updates.
Wire the Playwright suite into CI.
Document how AI tooling reuses the same API surface.
Following the investigation in #993 and the recommended architecture documented in #994, implement a single UI automation framework that serves both:
Recommended architecture (from #994)
Qt Http Server(qthttpserver), targeting Qt 6.6.3. Builds on the prototype in HTML project browser with property editor and WebGL view #992.Playwrightto drive the API and assert outcomes.Scope / tasks
Qt6::HttpServer(Qt 6.6.3), consolidating with the existingRiaHtmlServerprototype from HTML project browser with property editor and WebGL view #992 rather than duplicating it.Alternatives considered (rejected, see #994)
Refs #993, #994, #992.