Skip to content

UI regression checks in CI: Playwright for the Darling web UI, FlaUI for the WPF apps #5701

Closed

Description

@erikdarlingdata

Claude posting for Erik Darling.

Today, someone checks a UI change by hand, or an agent looks at the screen during review. No CI check catches a UI regression that slips in later.

Proposal

  • Darling web UI (viewer pages and Web Admin): Playwright tests that load each main page against a seeded test store. Each test compares a screenshot with a saved baseline and fails on any browser console error.
  • WPF apps (Lite and the Darling viewer): FlaUI tests over Windows UI Automation. Each test starts the app, opens each main tab, and checks that the named controls exist and show data. The viewer already gives many controls accessible names for screen readers (see ViewerScreenReaderNamesTests), so tests can find controls by name.
  • Where they run: on a GitHub Windows runner, not a developer machine.
  • On failure: the job uploads the baseline, the new screenshot and the difference image as artifacts, so a reviewer looks at the images only when a check fails.

To decide

  • Stable test data: a seeded store with a fixed clock, so screenshots don't change from run to run.
  • Which pages and tabs to cover first. Start with the Overview and the busiest tabs.
  • Whether baselines live in the repo or in a CI image-diff service.
  • How to update a baseline after an intended UI change.

Activity

  1. erikdarlingdata commented on Oct 13, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling. Phase 1 (the web page smoke check) is on dev in #5732 (5805c0e). Phase 2, screenshot baselines, is #5744. Phase 3, the WPF smoke check, is #5745.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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