NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #479 most downloaded on pub.dev
A powerful, multiplatform E2E UI testing framework for Flutter apps that overcomes the limitations of integration_test by handling native interactions.
Last release 16 days ago
20 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
165 releases · first in 2022
Make more Selector properties work on iOS (#2030).
Selector properties work on iOS (#2030).Gracefully handle when analytics fail to send. (#2460)
Handle uninstallation of the app after tests finish when using AGP 8.2+. (#2535)
Add --coverage-packages flag to patrol test that specifies which packages should be included in the coverage report. (#2536)
Fix skipping tests with coverage collection enabled. (#2539)
Add optional timeout parameter to native methods (#2042).
$.native.tapAt() (#2053)native.enterText interacting with first EditText regardless of Selector passed (Android-only) (#2072)One column per quarter.
Add PATROL_ANALYTICS_ENABLED environment variable to disable analytics. (#2483)
Enable analytics by default. (#2483)
Allow for changing the port when running on iOS (#2027).
Allow for changing the port when running on iOS (#2027).
To do so, pass test-server-port (default 8081) and app-server-port
(default 8082) to Patrol CLI commands (e.g patrol test)
Fix patrolSetUp() and patrolTearDown() not working in patrol develop (#2023).
This version requires version 2.6.0 of patrol_cli package.
This version requires version 3.13.0 of patrol package.
Enable selecting individual tests with xcodebuild's -only-testing option. Currently iOS only, does not support macOS
xcodebuild's -only-testing option.
Currently iOS only, does not support macOS (#2001)This version requires version 3.12.0 of patrol package.
Add support for running patrol tests on macOS (alpha)
This version requires version 3.11.0 of patrol package.
Implement patrolSetUp() and patrolTearDown(), which are equivalents of vanilla setUp() and tearDown() but work with Patrol's native automation and tes
patrolSetUp() and patrolTearDown(), which are equivalents of
vanilla setUp() and tearDown() but work with Patrol's native automation
and test bundling feature (#1967) (#1721)Add tags and exclude-tags . (#2286)
Run flutter build apk --config-only during android build.(#2293)
This version requires version 3.10.0 of patrol package.
Nothing published for this version
Implement $.native.swipe() on iOS
$.native.swipe() on iOS (#1927)Add screenshots to pubspec.yaml
pubspec.yaml (#1917)Bump dependencies for Flutter 3.16 and Dart 3.2
topics in pubspecFix extension code not being bundled by GitHub Actions workflow
This release also depends on patrol_finders v2 and includes its breaking changes.
Give a warm welcome to the new Patrol DevTools Extension!
Patrol DevTools extension allows you to explore the native view hierarchy when
developing tests with patrol develop. Now you can easily see what Android /
iOS views are currently visible and discover their properties so that they can
be used in native selectors like $.native.tap(). You don't have to use any
external tools for that. This is just the beginning, and we plan to add more
features to our extension in the future.
Other changes:
Bump minimum supported Flutter version to 3.16
BREAKING:
bindingType parameter from patrolTest() function. Now only
PatrolBinding is used and it's automatically initialized (#1882)nativeAutomation parameter from patrolTest() function. Now it's
enabled by default (#1882)Remove dependency on integration_test plugin (#1882)
This version requires version 2.3.0 of patrol_cli package.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Add PatrolFinder.longPress()
PatrolFinder.longPress() (#1825)Fix build-time and run-time crashes when app doesn't use Kotlin 1.8.x
Bump dependencies for Flutter 3.16 and Dart 3.2
Populate topics in pubspec (#1904)
Remove warning about patrol_finders being split from patrol
Allow to disable autogenerating shell completion code in ~/.zshrc (and alike) by setting the PATROL_NO_COMPLETION environment variable
Add support for nested test hierarchies using group()s
group()s (#1634)This version requires version 2.2.0 of patrol_cli package.
This version requires version 3.0.0 of patrol package.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix grantPermissionOnlyThisTime() crashing on Android <11
grantPermissionOnlyThisTime() crashing on Android <11 (#1698)Remove deprecation of nativeAutomation and add message about migration to patrol_finders
nativeAutomation and add message about migration to
patrol_finders (#1670)Make KeyboardBehavior.alternative not automatically try to hide the keyboard on iOS
KeyboardBehavior.alternative not automatically try to hide the keyboard
on iOS (#1638)Fix deprecation message for andSettle (settleBehavior -> settlePolicy)
andSettle (settleBehavior -> settlePolicy)
(#1622)Fix appId parameter missing from NativeAutomator.waitUntilVisible()
appId parameter missing from NativeAutomator.waitUntilVisible()
(#1611)dart:io when running with
flutter_driver on the Web (#1578)Use proper context in PatrolJUnitRunner
PatrolJUnitRunner (#1591)Selector.instance work on iOS (#1569)select[Fine|Coarse]Location() on iOS < 14 (#1564)getNativeViews on iOS (#1553)Add support for group() (#1634)
Adjust generated test_bundle.dart to not depend on gRPC contracts (#1681)
This version requires version 2.3.0 of patrol package.
Add $.native.waitUntilVisible()
$.native.waitUntilVisible() (#1543)KeyboardBehavior enum to native enterText() methods (#1511)Add --no-generate-bundle flag (#1565)
Don't check for patrol_cli updates on CI (#1557)
Add an alternative BrowserstackPatrolJUnitRunner, which implements a fix to make tests run on BrowserStack
BrowserstackPatrolJUnitRunner, which implements a fix to
make tests run on BrowserStack (#1402)Implement $.native.openQuickSettings() for iPhones without notch
$.native.openQuickSettings() for iPhones without notch (#1510)Fix occasional cryptic failures of Gradle builds
Fix tests occasionally failing on iOS because of dangling SemanticsHandles
SemanticsHandles
(#1491)Remove dependency on package:http
package:http (#1485)Fix enterText() not working when running with flutter_driver on the web
enterText() not working when running with flutter_driver on the web
(#1459)Fix WebViews on modern Android versions (#1398). See #244 for more details.
This version requires version 2.0.1 of patrol_cli package.
Support for fix for WebViews on modern Android versions (#1398)
Implement a proper fix for tests failing when using native automation on Android + Flutter 3.10 (#1398). This replaces a workaround implemented in #1352.
This version requires version 2.0.1 of patrol package.
Read the changelog and migration guide here
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix tests failing when using native automation on Android + Flutter 3.10
Fix build with Android Gradle Plugin v8
This version requires version 1.0.9 of the patrol package
Add optional telemetry (#1157), (#1182)
Rewrite native test reporting (#1178)
Fix which() not taking previous finder(s) into account
which() not taking previous finder(s) into account (#1271)Fix crashing when using Gradle 8
- Add support for Flutter 3.10
Fix bug when running on iOS ( .xctestrun file couldn't be found) (#1111)
Make patrol develop command visible (#1104)
This version marks the official release of Hot Restart. Learn more here.
This version marks the official release of Hot Restart. Learn more here.
Automatically infer iOS-specific build options: scheme and configuration (#1090). The following options were removed from patrol test and patrol develop commands: --scheme , --xcconfig , --configuration
Add patrol build android and patrol build ios commands (#1097)
This version requires version 1.1.4 of the `patrol_cli` package
This version requires version 1.1.4 of the patrol_cli package
Fix "error while disposing" when SIGINT (CTRL+C) is received when waiting for app to start on physical iOS device (#1073)
Fix patrol build crashing (#1074)
Fix App Store warnings about non-public selectors from patrol.framework
patrol.framework
(#1096)Disable forwarding q from patrol develop to flutter attach because it's broken (#1069)
Improve error when patrol develop is missing --target option (#1064)
Fix tap() sometimes not being able to tap on a widget that was previously found and scrolled to by scrollTo()
tap() sometimes not being able to tap on a widget that was previously
found and scrolled to by scrollTo() (#1072)Add preliminary support for patrol develop. Requires version 1.0.6 of patrol_cli.
patrol develop. Requires version 1.0.6 of
patrol_cli.Your coding agent can read these notes before it upgrades. Set up the MCP server →