Package selection guidance compiled from public package information, community data, and project usage.
Patrol CLI is a command-line tool for Patrol, a Flutter-native UI testing framework designed to streamline end-to-end testing across multiple platforms. It enables developers to run, manage, and debug UI tests directly from the terminal, supporting Android, iOS, macOS, Windows, and Linux. The tool integrates seamlessly with Flutter projects, offering fast test execution and detailed reporting. With Patrol CLI, teams can automate testing workflows and ensure consistent app behavior across devices and operating systems.
Use cases
Running UI tests in CI/CD pipelines
Debugging test failures locally
Automating test execution across platforms
Integrating with existing Flutter test suites
Performing cross-platform regression testing
Key features
Cross-platform test execution
Fast and reliable test runs
Detailed test reporting
Seamless Flutter integration
Command-line interface for automation
Suitable for
Flutter developers focused on UI testing
Teams using CI/CD for mobile apps
Test automation engineers
Mobile QA specialists
Projects requiring multi-platform coverage
Considerations
Requires Patrol framework setup
Limited to Flutter applications
May need additional configuration for complex test scenarios
Best suited for projects already adopting Patrol
Platform-specific dependencies may apply
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.