# leancodepl/patrol

Flutter-first UI testing framework. Ready for action!

Repository: https://github.com/leancodepl/patrol
Canonical: https://ross.abutalabs.com/products/patrol
Homepage: https://patrol.leancode.co
Language: Dart
License: Apache-2.0
License Family: permissive
Topics: dart, flutter, integration-testing, testing, flutter-test, greybox-testing, ui-automation, whitebox-testing, hacktoberfest
Last push: 2026-08-26T14:21:14+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 85, longevity 100
- inputs: {"age_days": 1561, "days_push": 7, "days_rel": 21, "gap_med": 0.0, "n_releases_24m": 103}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1414, forks 232 (observed 2026-08-28T04:04:39.609596+00:00)

## What it is
Patrol is a Flutter-first, multiplatform E2E UI testing framework that extends Flutter's integration_test with native platform interactions like permission dialogs, notifications, and WebViews. It includes a CLI for running tests, ergonomic custom finders, a DevTools extension, and integrations with device farms such as Firebase Test Lab, BrowserStack, and SauceLabs.

## Use cases
- test flutter apps end to end
- automate native permission dialogs in flutter tests
- run flutter ui tests on ios and android
- write readable integration tests for flutter
- run flutter tests on device farms like firebase test lab
- toggle wifi and device settings during flutter tests
- test webviews and oauth login flows in flutter

## When to choose
- you need E2E tests for a Flutter app that interact with native OS features like permissions, notifications, or WebViews
- you find Flutter's built-in integration_test too limited or its finders too verbose
- you want test sharding, isolation, and CI/device-farm integrations for Flutter apps

## When to avoid
- your project is not a Flutter app
- you only need simple widget or unit tests without native interaction
- you need cross-platform UI testing for native (non-Flutter) iOS or Android apps

## Facets
- artifact type: framework
- maturity: active
- function: testing, e2e-testing, cli
- domain: testing, mobile-development, developer-tools, cross-platform
- platform: cli, cross-platform
- tags: flutter, ui-testing, integration-testing, greybox-testing, native-automation, dart, test-automation, device-farms, android, ios, macos, web-server

## Member repositories
- leancodepl/patrol (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:39.609596+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:38:13.178582+00:00, confidence not recorded.
  - readme: https://github.com/leancodepl/patrol (fetched 2026-08-28T04:04:39.609596+00:00, sha 10a04a63820b)
  - homepage: https://patrol.leancode.co (fetched 2026-08-29T11:51:09.537603+00:00, sha 58a92e5349cd)
  - site_page: https://patrol.leancode.co/documentation (fetched 2026-08-29T11:51:09.540661+00:00, sha 0c38c11668cd)
  - site_page: https://patrol.leancode.co/overview/getting-started (fetched 2026-08-29T11:51:09.545099+00:00, sha 5a2704473545)
  - site_page: https://patrol.leancode.co/documentation/native/overview (fetched 2026-08-29T11:51:09.546749+00:00, sha b0871ffc3bc4)
  - site_page: https://patrol.leancode.co/documentation/finders/overview (fetched 2026-08-29T11:51:09.548373+00:00, sha 5a6939c5ea10)
  - site_page: https://patrol.leancode.co/documentation/integrations/saucelabs (fetched 2026-08-29T11:51:09.549966+00:00, sha faaa83e26bed)
  - site_page: https://patrol.leancode.co/documentation/integrations/marathon (fetched 2026-08-29T11:51:09.551516+00:00, sha 4e8939d2b91e)
  - site_page: https://patrol.leancode.co/pricing (fetched 2026-08-29T11:51:09.542975+00:00, sha 0c8d83b79c8d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
