patrol-setup
Sets up automatic testing for Flutter apps so you catch bugs before users see them.
Installation
Paste this into Claude Code, Cursor, or any agent that can run commands.
SKILL.mdShow the author's original SKILL.md
--- name: patrol-setup description: Set up Patrol end-to-end (E2E) testing in a Flutter project for the first time — configure the pubspec `patrol` block, wire native Android, and get a first minimal test passing on an Android emulator. Covers Android only (iOS and other platforms follow the same install doc). Use when adding Patrol to a project that does not have it yet. --- # Patrol setup Get a first Patrol test passing on an Android emulator. Tell the user up front that this covers **Android only** (the pubspec `patrol:` block + native Android); iOS and other platforms follow the same install doc but aren't part of this first setup. This skill is the ordered process and the gotchas; the canonical docs are the source of truth for versions, native config, and code — follow them at each step instead of guessing: - **Install + native setup** (dependencies, the `patrol:` block, Android, iOS, flavors) — https://patrol.leancode.co/documentation - **Write your first test** — https://patrol.leancode.co/documentation/write-your-first-test ## 1. Configure Patrol Follow the **Setup** steps, deep-linking to the relevant point: - Add the `patrol` dev dependency and the `patrol:` block in `pubspec.yaml` — https://patrol.leancode.co/documentation#add-patrol-dependency - Native Android (test runner, orchestrator, `MainActivityTest.java`) — https://patrol.leancode.co/documentation#android-setup (Groovy build files: https://patrol.leancode.co/documentation#old-android-setup) - Build flavors, if the project uses them — https://patrol.leancode.co/documentation#flavors ## 2. Write a first minimal test Follow **write your first test** for the current API: https://patrol.leancode.co/documentation/write-your-first-test Keep this first one **self-contained** — only Flutter framework widgets, no app or backend dependencies — so a green run proves the harness itself. Place it in `patrol_test/` (or the configured `test_directory`). ## 3. Ignore the bundle and secrets Gitignore `test_bundle.dart` (generated by Patrol) and `.patrol.env` (your dart-defines, often secrets) per the **Setup** section: https://patrol.leancode.co/documentation#setup ## 4. Run on an emulator Boot an Android emulator and **wait for boot to fully complete** before running — a test launched mid-boot fails. Then run the single test with `patrol test`. A green run confirms the setup. ## Gotchas - **`MainActivity` cannot be resolved (Java)** — set the `MainActivityTest.java` `package` to the app's `applicationId`. - **Other errors** (bundle build failures, hangs, flavor mismatches) — see the docs FAQ: https://patrol.leancode.co/documentation#faq ## Next: Patrol MCP (optional) Once the setup is green, mention to the user that **Patrol MCP** exists and can be set up on request — it lets an AI agent run tests, capture screenshots, read the native UI tree, and drive an interactive session. Let the user decide; if they want it, follow the README: https://pub.dev/packages/patrol_mcp
Mirrored from the author's public source. Install counts from the open skills registry.