Skip to content

#995 Implement unified UI automation framework (Qt HTTP Server + Playwright)#998

Open
magnesj wants to merge 8 commits into
devfrom
feature/ui-automation-framework
Open

#995 Implement unified UI automation framework (Qt HTTP Server + Playwright)#998
magnesj wants to merge 8 commits into
devfrom
feature/ui-automation-framework

Conversation

@magnesj

@magnesj magnesj commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Implements the unified UI automation framework from #995 (investigation #993, recommendation #994).

One localhost automation surface serves both UI workflow tests and AI tooling:

  • Transport: localhost-only HTTP API exposed from ResInsight using Qt HTTP Server (qthttpserver), targeting Qt 6.6.3. New module ApplicationLibCode/Automation/ (RiaAutomationServer), gated behind the new CMake option RESINSIGHT_ENABLE_UI_AUTOMATION (OFF by default) and started with ResInsight --automationserver [port].
  • API contract: OpenAPI 3.0 spec docs/automation/openapi.yaml is the source of truth, covering /health, /project, /objects/{address} (+ field write), /views, /views/{id}/visibleCellCount, and /commands (RICF).
  • Test runner: Playwright project Testing/UiAutomation/ with read-only smoke tests and the cell-range-filter reference workflow from Framework used for AI tooling and UI unit tests #993.

The server binds to 127.0.0.1 only. Field writes reuse the same scripting capability as the Python/gRPC interface; command execution reuses the RICF command vocabulary.

Notes

  • The feature is fully gated; with the option OFF the default build is unchanged.
  • Building the server requires a Qt with the HttpServer module (present in the local Qt 6.6.3 install; not in the Qt 6.10.1 kit currently configured in build/).
  • The end-to-end create/delete lifecycle test is marked fixme pending /commands vocabulary for creating/removing cell range filters.

Closes #995

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.

Implement unified UI automation framework (Qt Http Server + Playwright)

1 participant