docs: add video recording guide + rework visual-testing#271
Conversation
Recommends wdio-video-reporter for capturing video of test runs against @wdio/electron-service and @wdio/tauri-service. Companion to the visual-testing doc — video is for debugging, visual is for regression detection. The guide covers the small amount of glue needed (recommended config for both services, per-OS output convention, retention modes) and is deliberately honest about what `wdio-video-reporter` actually does: screenshot stitching at command granularity, not a real video pipeline. So the output is a 3–10 fps slideshow suitable for "what happened during this failed test?" debugging, not smooth screencast. Surprising-positive finding from the spike (PR #124 in wdio-desktop-mobile-example): tauri-official + Linux works here, even though the same cell is broken for @wdio/visual-service. The reporter has no before() initialisation script, so it sidesteps the executeAsync hang. Documented in the Tauri provider notes. Cross-linked from electron-service README Operations and tauri-service README Guides, mirroring the visual-testing cross-links established in PR #266. Companion to the spike validated in goosewobbler/wdio-desktop-mobile-example#124. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Greptile SummaryThis PR adds a new
Confidence Score: 5/5Documentation-only change with no executable code paths; safe to merge. All five changed files are Markdown documentation. The new video guide is accurate and the visual-testing rework preserves all previously validated technical details while reducing duplication. No production code is touched. No files require special attention.
|
| Filename | Overview |
|---|---|
| docs/video-recording.md | New guide for wdio-video-reporter integration; accurate provider matrix, Tauri output-path variants, pnpm onlyBuiltDependencies snippet, and known CI issues are all well-documented. |
| docs/visual-testing.md | Reworked to a framework-agnostic single config snippet; Linux Xvfb section now correctly recommends 16-bit depth (fixing the old 24-bit Dioxus recommendation); cross-links to video guide added. |
| packages/electron-service/README.md | One-line addition: Video Recording link inserted in the Operations section alongside existing Visual Testing entry. |
| packages/tauri-service/README.md | One-line addition: Video Recording link inserted in the Guides section alongside existing Visual Testing entry. |
| packages/dioxus-service/README.md | One-line addition: Video Recording link appended to the Guides section. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[WDIO Test Run] --> B{Framework Service}
B --> C[electron-service]
B --> D[tauri-service]
B --> E[dioxus-service]
C --> F[Visual Testing]
D --> F
E --> F
C --> G[Video Recording]
D --> G
E --> G
D --> L{Tauri Provider}
L --> M[embedded]
L --> N[official]
L --> O[crabnebula]
F --> P[Output: __visual__ / platform / arch / provider]
G --> Q[Output: __video__ / platform / arch / provider]
Reviews (7): Last reviewed commit: "docs: refine review fixes — autoXvfb cre..." | Re-trigger Greptile
Release Preview — no release
Updated automatically by ReleaseKit |
The setup-finished description named only the Electron output path. Tauri users following the Tauri config snippet (which adds a `<provider>` segment) would look for the file at the documented path and not find it. Split into two bullets so each service's actual layout is on the page. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… guides Replace parallel Electron/Tauri config blocks with a single service-agnostic snippet, foregrounding what's unique to this monorepo — the Tauri provider × OS matrix and the known issues (CrabNebula × macOS-CI, official × Linux executeAsync hang) — and trimming the install/wire-in/spec boilerplate that paraphrased upstream docs. Both guides now share the same shape so they're scannable side-by-side. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…fault Drop the "Both @wdio/electron-service and @wdio/tauri-service compose with X" opener in favour of "WDIO's service architecture lets services compose freely — no special integration needed." Framework names move from canonical enumerations to illustrative examples (e.g. mock-API snippets, output-path exceptions). New framework services landing from the roadmap won't need doc updates to be acknowledged as supported — only framework-specific sections (e.g. Tauri provider notes) gain content. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Resolves conflict in docs/visual-testing.md from main's PR #275 (@wdio/dioxus-service integration). Kept the reframed interop-as-default opening and service-agnostic Quick Start; preserved the genuinely Dioxus-specific content from main (Dioxus provider notes H2 with the embedded/external table and Xvfb requirement, Dioxus mock-API example as a third illustration). Dropped main's enumerated "@wdio/electron-service, @wdio/tauri-service, and @wdio/dioxus-service" opener and the per-service Dioxus Quick Start config block — both were the kind of per-service duplication the reframe is designed to avoid. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Default config snippets to ESM (drop CJS + workaround callouts) - Inline subdirs in snippets so they run as-is; note Tauri's driverProvider segment in a comment - Rewrite Dioxus VRT section: drop empty provider table, lift Xvfb to a shared Linux subsection (Tauri + Dioxus, both wry → WebKitGTK, 16-bit colour depth) - Drop visual-service hang reference from video doc's Tauri table (out of context) - Generalise the video "what you get" capture bullet across all webview-scoped providers - Swap placeholder Dioxus mock example for clipboard_read (native-surface parallel to Electron Menu / Tauri dialog) - Add Video Recording link to Dioxus README for parity with Electron/Tauri - Reword the mock-APIs closing line to be matter-of-fact Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… step - Credit WDIO's autoXvfb feature for Electron's Linux display handling (was wrongly attributed to Electron itself) - Drop "Ignore the output directory" as a numbered Quick start step; fold the __video__ gitignore note into Output paths Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Originally this PR added a single new doc —
docs/video-recording.md— recommendingwdio-video-reporteras the companion todocs/visual-testing.md(PR #266): video is the debugging artefact, visual is the regression signal.Scope expanded mid-review to trim and reframe both ecosystem-integration guides so they scale as new framework services land from the roadmap, without needing per-doc maintenance.
Changes
Original: new video-recording guide
onlyBuiltDependenciessnippet for@ffmpeg-installer/*.embeddedeverywhere;officialLinux + Windows — note that unlike the visual cell, the Linux + official combo here works because the reporter has nobefore()script;crabnebulamacOS only, excluded from hosted macOS CI for the TCC reason).packages/electron-service/README.mdandpackages/tauri-service/README.md.Expanded scope: trim + reframe both guides (commits 3dfc336, b6cfb24)
...subdirsparameterised. Cut install/wire-in/spec boilerplate that paraphrased upstream. ~30% line reduction in each doc.@wdio/electron-serviceand@wdio/tauri-servicecompose with X" opener in favour of "WDIO's service architecture lets services compose freely — no special integration needed." Framework names are now illustrative examples (mock-API snippets, Tauri provider notes) rather than canonical enumerations. When new framework services land, the docs already cover them — only framework-specific sections need additions.What stays foregrounded
The valuable, can't-find-anywhere-else content:
official× Linux ×executeAsynchang (visual only — explicitly noted as not hit by video).MAX_MISMATCH_PCT = 1rationale (visual).onlyBuiltDependenciesfor@ffmpeg-installer/*(video).Test plan
packages/*/docs/.Companion
goosewobbler/wdio-desktop-mobile-example#124— all 16 video cells passed (electron × 3 OSes × 3 packages, tauri-embedded × 3 OSes, tauri-official × Linux + Windows, tauri-crabnebula × Linux + Windows). Surprising-positive: tauri-official on Linux works for video even though it's broken for visual.docs/visual-testing.md(PR docs: add visual regression testing guide #266).🤖 Generated with Claude Code