Patrol 3.0 is here!
Patrol 3.0 is the new major version of Patrol.
patrol v3 and DevTools extension#
The highlight of this release is the Patrol DevTools Extension. We created
it to enhance your UI test development experience with
patrol develop by
making it much easier to explore the native view hierarchy. With Patrol's new
DevTools extension, you can effortlessly inspect the currently visible
Android/iOS views and discover their properties. This information can be then
used in native selectors like
$.native.tap(), eliminating the need for
Patrol is one of the first packages in the whole Flutter ecosystem to have a DevTools extension. We have started working on it as soon as the Flutter team has announced that they're working on making DevTools extensible. We immediately realized how powerful this feature is and how it can enable us to deliver better UI testing experience.
This is, of course, just the beginning, and we have plans to introduce more features in future updates of our DevTools extension.
The DevTools extension is not the only new feature in this release. Other changes include:
Minimum Flutter version: The minimum supported Flutter version has been bumped to 3.16 to make it compatible with a few breaking changes that were introduced to the
patrol_findersdepend on. We hope you'll have an easy time upgrading to 3.16, but if not, you can always using Patrol v2 until you're ready to upgrade.
A few breaking changes:
bindingTypeparameter has been removed from the
patrolTest()function. Now, only
PatrolBindingis used and it's also automatically initialized.
nativeAutomationparameter has also been removed from the
patrolTest()implies native automation and you can use
patrolWidgetTest()if you don't need it.
PatrolTesterclass has been renamed to
PatrolTesteris used with
patrolWidgetTest()without native automation and
PatrolIntegrationTesteris used with
patrolTest()with native automation.
Patrol CLI version requirement: Patrol v3 requires Patrol CLI v2.3.0 or newer, so make sure to
patrol v3, we are releasing the v2 of patrol_finders. In case you
missed it, we split
patrol a few months ago in response
to our community members who loved Patrol's lean finders syntax, but weren't
interested in developing integration tests. Here's the docs
patrol_finders in case you missed it.
- Minimum Flutter version: The minimum supported Flutter version of
patrol_findershas been bumped to 3.16, just like in
- The deprecated
andSettlemethod has been removed from all
enterText(), and so on. Developers should now use
settlePolicyas a replacement, which has been available since June.
- The default
settlePolicyhas been changed to SettlePolicy.trySettle.
As you can see, these updates have a little bit of everything - a large new feature, support for the latest Flutter version, and a clean up up a few deprecations. We encourage you to explore our new DevTools extension and look forward to your feedback and ideas for new features as we continue to evolve the Patrol ecosystem. Meanwhile, we're getting back to work on Patrol, with a single goal in mind – to make it the go-to UI testing framework for Flutter apps.