Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions apps/desktop/test/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
| ---------------------------------- | ------------------------- | --------------------------------- | ---------------------------------------------------------------------- |
| **Playwright** (`e2e-playwright/`) | Playwright + tauri-plugin | macOS (native) and Linux (Docker) | Full app: dialogs, keyboard nav, file ops, settings, viewer, a11y, MTP |

**Playwright suite** uses `tauri-plugin-playwright` (fork at `vdavid/tauri-playwright`) which injects JS directly into
the Tauri webview via `webview.eval()` and receives results via Tauri IPC. Same tests work on both macOS and Linux.
Gated behind the `playwright-e2e` Cargo feature.
**Playwright suite** uses upstream `tauri-plugin-playwright` (Rust, crates.io) and `@srsholmes/tauri-playwright` (npm),
which inject JS directly into the Tauri webview via `webview.eval()` and receive results via Tauri IPC. Same tests work
on both macOS and Linux. Gated behind the `playwright-e2e` Cargo feature.

**Linux Docker infrastructure** lives in `e2e-linux/docker/` (Dockerfile + entrypoint). The `e2e-linux.sh` script builds
the Tauri binary with `--features playwright-e2e,virtual-mtp` inside Docker, launches it, and runs the Playwright tests.
Expand Down
7 changes: 6 additions & 1 deletion docs/specs/tauri-playwright-plan.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# Replace WebDriverIO + CrabNebula with tauri-playwright

> **Status (post-implementation)**: Shipped using upstream `tauri-plugin-playwright` (crates.io) and
> `@srsholmes/tauri-playwright` (npm), both at `0.2.2` — no fork was needed. References below to a `vdavid/tauri-playwright`
> fork describe the original plan; in practice the architectural improvements landed without one. This doc is kept as a
> historical record of the migration.

## Goal

Replace the current dual E2E setup (WebDriverIO + tauri-driver on Linux, WebDriverIO + CrabNebula on macOS) with a
single Playwright-based test suite using a forked and improved `tauri-playwright` plugin. This eliminates the CrabNebula
single Playwright-based test suite using an improved `tauri-playwright` plugin. This eliminates the CrabNebula
dependency, removes platform-specific WebDriver quirks, and enables running the same tests on both macOS and Linux.

## Why
Expand Down
Loading