Skip to content

Automated per-framework test apps + durable-key contract tests #30

Description

@asklar

Goal

Add a dedicated test app + automated integration test per UI framework that asserts the durable element-key contract introduced in #26:

  1. Present — every element has a non-empty \key\
  2. Unique — no duplicate keys within a dump
  3. Stable — two consecutive dumps of the same (unchanged) UI produce identical \key -> (framework,type,className,path)\ maps
  4. Queryable — --query \ resolves the element

Each test must include a readiness wait (poll until the framework's subtree is present) to avoid the startup race (#27).

Coverage (this wave)

  • WPF — new sample app + fixture
  • WinUI3 — new sample app + fixture
  • Avalonia — wire existing \ ests/avalonia_test_app\ into a fixture (note: plugins load only from %USERPROFILE%.lvt\plugins, deploy in test setup)
  • Chromium — fix Chromium extension fails to load: manifest references missing icon files #29 (extension icons) + DOM/key test + document manual E2E
  • ComCtl — self-contained Win32 window hosting SysListView32/SysTreeView32 + fixture

WinForms is already covered by #23.

Why

Only Win32 (Notepad) was truly exercised before; the Avalonia app was orphaned; WPF/WinUI3/live-Chromium had no tests. Manual validation during #26 confirmed keys work across all 7 frameworks, but automated tests are needed to keep them correct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions