Package selection guidance compiled from public package information, community data, and project usage.
Patrol Finders provides a streamlined, high-level API built on top of flutter_test to simplify UI testing in Flutter applications. It enhances test readability and maintainability by offering intuitive finder methods for locating widgets, reducing boilerplate code. Designed for developers who want faster, more reliable tests with less effort, it integrates seamlessly into existing test workflows across multiple platforms. The package is part of the Patrol ecosystem, focused on improving end-to-end testing experiences.
Use cases
Writing concise UI tests
Improving test maintainability
Cross-platform testing
Automated end-to-end testing
Reducing test setup complexity
Key features
High-level widget finders
Minimal boilerplate
Seamless integration with flutter_test
Support for all major platforms
Improved test readability
Suitable for
Flutter developers writing UI tests
Teams prioritizing test reliability
Projects using end-to-end testing frameworks
Developers seeking cleaner test code
Considerations
Requires Patrol ecosystem
Dependent on flutter_test
Limited to UI testing scenarios
Not suitable for unit or widget-only tests
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Patrol
A powerful, multiplatform E2E UI testing framework for Flutter apps that overcomes the limitations of integration_test by handling native interactions. Developed by LeanCode since 2022, battle-tested and shaped by production-grade experience.
Patrol is an open-source framework created and maintained by LeanCode.
However, if your company wants to scale fast and accelerate Patrol’s
adoption, we offer a set of value-added services on top of the core framework.
[!NOTE]
Patrol 4.7.0 adds Swift Package Manager support for iOS and macOS!
If you migrate your project to SPM, a few small setup changes are needed — see the iOS setup guide for details.
Patrol custom finders
Flutter's finders are powerful, but not very intuitive to use.
We took them and made something awesome.
Thanks to Patrol's custom finders, you'll take your tests from this:
Flutter's default integration_test package can't interact with the OS your
Flutter app is running on. This makes it impossible to test many critical
business features, such as:
granting runtime permissions
signing into the app which through WebView or Google Services
The CLI is needed to enable Patrol's native automation feature in integration
tests. It also makes development of integration tests much faster thanks to [Hot
Restart].
To run widget tests, you can continue to use flutter test.
See .github/WORKFLOWS.md for detailed documentation about all GitHub Actions workflows, including test schedules, Flutter versions, and deployment pipelines.