Merged
Conversation
Contributor
Author
|
bddbc72 to
1ab9628
Compare
1ab9628 to
4f1d80f
Compare
…rline (#1548) Collect all text-decoration-line values from a declaration before applying, with explicit false for unset properties so they override current values instead of falling back to them. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The integration test workflow was failing because `dart pub global activate patrol_cli` installed v4.1.0 which is incompatible with patrol v3.20.0. Upgrade both patrol and patrol_finders to v4.x/v3.x and pin the CLI version to prevent future mismatches. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…o fix/patrol-build
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Demo app790ac54 APKs:
Web build has been deployed to https://demo-b4ui33apt-fwfh.vercel.app. Quick links: |
The integration test workflow was failing because `dart pub global activate patrol_cli` installed v4.1.0 which is incompatible with patrol v3.20.0. Upgrade both patrol and patrol_finders to v4.x/v3.x and pin the CLI version to prevent future mismatches. Also move tests from integration_test/ to patrol_test/ to follow the new default test directory convention in patrol v4. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nt flakiness Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
^3.20.0→4.1.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
leancodepl/patrol (patrol)
v4.1.1Compare Source
grantPermissionWhenInUse.(#2876)tapOnNotificationBySelectorto supporttextparameter. (#2898)patrol_logto0.7.0. (#2917)patrol_findersto3.1.0. (#2917)4.1.0
PlatformAutomatorto exports. (#2833)4.0.1
js. (#2831)4.0.0
Patrol 4.0 is here!
Read the article announcing Patrol 4.0 here.
New API for native/platform interactions:
PlatformAutomator). (#2789)NativeAutomatorandNativeAutomator2. (#2789)Add support for running Patrol tests on Web:
WebAutomatorthat handles numerous interactions with native browser:enableDarkMode,disableDarkMode,tap,enterText,scrollTo,grantPermissions,clearPermissions,addCookie,getCookies,clearCookies,pressKey,pressKeyCombo,uploadFile,verifyFileDownloads,goBack,goForward,acceptNextDialog,dismissNextDialog,resizeWindow,setClipboard,getClipboard.--web-results-dir,--web-report-dir,--web-reporter,--web-timeout,--web-global-timeout,--web-retries,--web-workers,--web-shard,--web-video,--web-headless,--web-locale,--web-timezone,--web-color-scheme,--web-geolocation,--web-permissions,--web-user-agent,--web-viewport.Add support for configurable test directory via
test_directoryoption inpubspec.yaml. (#2728)Introduces experimental
--full-isolationflag that uninstall the app between each run on iOS Simulator. (#2803)Bump
patrol_logto0.6.0.BREAKING CHANGE
integration_testtopatrol_test. (#2728)This version requires version
4.0.0ofpatrol_clipackage.3.20.0
--build-nameand--build-numberflags topatrol test,patrol develop, andpatrol buildcommands. (#2590)$.native.enterText()on Android to supportAutoCompleteTextView. (#1162)This version requires version 3.11.0 of
patrol_clipackage.3.19.0
$.native.pullToRefresh()and$.native.swipeBack(). (#2707)$.native.enableDarkMode()and$.native.disableDarkMode()on iOS 18 simulators. (#2705)3.18.0
leancode_lintto17.0.0.patrol_logto0.5.0.3.17.0
takeCameraPhotomethod. (#2660)pickImageFromGallerymethod (#2660)pickMultipleImagesFromGallery(#2660)isVirtualDevicemethod (#2660)getOsVersionmethod (#2660)$.native.getNativeViews()(#2660)$.native.swipeBack()method (#2608)$.native.pullToRefresh()method (#2665)3.16.0
3.15.2
vm_servicedependency to15.0.0(#2636)3.15.1
$.enterText()issues (#2570)setMockLocationmethod. (#2547)custom_lintto0.7.0andleancode_lintto14.3.0. (#2574)http4kto 5.47.0.0. (#2559)3.14.2
3.14.1
latest JDK 23 (#2503)
$.native.tap()not working withSelectorhavinginstanceset. (#2501)3.14.0
exceptionfromStepEntry. When it was too long, it caused crash because of badly formed JSON. (#2481)patrol_findersandpatrol_logversions.3.13.2
patrol_findersandpatrol_log- use version with patched enterText. (#2468)3.13.1
3.13.0
patrol_logpackage. (#2387)patrol_findersand enable logging.This version requires version 3.4.0 of
patrol_clipackage.3.12.0
clear-permissionsflag on ios commands. (#2367)This version requires version 3.3.0 of
patrol_clipackage.3.11.2
3.11.1
PatrolJUnitRunner.java. (#2361)3.11.0
selectFineLocationwhen it's already selected. (#2302)enterTextandenterTextByIndex(#2312)This version requires version 3.2.0 of
patrol_clipackage.3.10.0
enableBluetoothanddisableBluetoothmethods for Android > 11. (#2254)enableAirplaneModeanddisableAirplaneModemethods for Android. (#2254)enableLocationanddisableLocationmethods for Android. (#2259)tagsandexclude-tags. (#2286)3.9.0
3.8.0
openUrl(String url)method, for testing deeplinks. (#2219)pressVolumeUpandpressVolumeDown(). (#2223)3.7.3
3.7.2
test_apidependency to 0.7.0.patrol_devtools_extensiondependencies.3.7.1
patrol_devtools_extensiondependencies.test_apidependency to 0.7.0.3.7.0
test_apidependency to 0.7.0.patrol_devtools_extensiondependencies.3.6.1
3.6.0
3.5.2
3.5.1
Selectorproperties work on iOS (#2030).3.5.0
$.native.tapAt()(#2053)native.enterTextinteracting with first EditText regardless ofSelectorpassed (Android-only) (#2072)3.4.0
Allow for changing the port when running on iOS (#2027).
To do so, pass
test-server-port(default 8081) andapp-server-port(default 8082) to Patrol CLI commands (e.g
patrol test)Fix
patrolSetUp()andpatrolTearDown()not working inpatrol develop(#2023).This version requires version 2.6.0 of
patrol_clipackage.3.3.0
xcodebuild's-only-testingoption.Currently iOS only, does not support macOS (#2001)
(#2008)
extension (#2010)
3.2.0
3.1.0
patrolSetUp()andpatrolTearDown(), which are equivalents ofvanilla
setUp()andtearDown()but work with Patrol's native automationand test bundling feature (#1967) (#1721)
3.0.3
$.native.swipe()on iOS (#1927)3.0.2+1
pubspec.yaml(#1917)3.0.2
topicsin pubspec3.0.1
3.0.0
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 anyexternal 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:
bindingTypeparameter frompatrolTest()function. Now onlyPatrolBindingis used and it's automatically initialized (#1882)nativeAutomationparameter frompatrolTest()function. Now it'senabled by default (#1882)
v2 and includes
its breaking changes.
Remove dependency on
integration_testplugin (#1882)This version requires version 2.3.0 of
patrol_clipackage.2.3.2
PatrolFinder.longPress()(#1825)2.3.1
2.3.0
group()s (#1634)is more lightweight (#1681)
This version requires version 2.2.0 of
patrol_clipackage.2.2.5
grantPermissionOnlyThisTime()crashing on Android <11 (#1698)2.2.4
nativeAutomationand add message about migration topatrol_finders(#1670)2.2.3
KeyboardBehavior.alternativenot automatically try to hide the keyboardon iOS (#1638)
2.2.2
andSettle(settleBehavior -> settlePolicy)(#1622)
2.2.1
appIdparameter missing fromNativeAutomator.waitUntilVisible()(#1611)
dart:iowhen running withflutter_driveron the Web (#1578)2.2.0
PatrolJUnitRunner(#1591)Selector.instancework on iOS (#1569)select[Fine|Coarse]Location()on iOS < 14 (#1564)getNativeViewson iOS (#1553)2.1.0
$.native.waitUntilVisible()(#1543)KeyboardBehaviorenum to native enterText() methods (#1511)2.0.7
BrowserstackPatrolJUnitRunner, which implements a fix tomake tests run on BrowserStack (#1402)
2.0.6
$.native.openQuickSettings()for iPhones without notch (#1510)2.0.5
2.0.4
SemanticsHandles(#1491)
2.0.3
package:http(#1485)2.0.2
enterText()not working when running withflutter_driveron the web(#1459)
2.0.1
Android + Flutter 3.10 (#1398). This replaces a workaround implemented in
#1352
This version requires version 2.0.1 of
patrol_clipackage.2.0.0
Patrol 2.0 is released!
integration_testpluginhere
This version requires version 2.0.0 of
patrol_clipackage.1.1.5
(#1352)
1.1.4
1.1.3
which()not taking previous finder(s) into account (#1271)1.1.2
1.1.1
1.1.0
This version marks the official release of Hot Restart. Learn more
here.
1.0.9
This version requires version 1.1.4 of the
patrol_clipackage1.0.8
patrol.framework(#1096)
1.0.7
tap()sometimes not being able to tap on a widget that was previouslyfound and scrolled to by
scrollTo()(#1072)1.0.6
patrol develop. Requires version 1.0.6 ofpatrol_cli.1.0.5+1
1.0.5
1.0.4
vm_service(#986)1.0.3
PATROL_WAIT(passed through--waitargument topatrol test)preventing frames from being pumped (#959)
PatrolBinding(#970)1.0.2
Make
NativeAutomator.enterTextByIndex()have a default timeout, just likeNativeAutomator.enterText()(#943)Documentation of these 2 methods has also been updated to explain the behavior
in more detail.
Use automated publishing with GitHub Actions on pub.dev (#953) (#955) (#956)
(#957)
1.0.1
flutter runnot working in example app because of an error in Gradlebuild file (#940)
1.0.0
released!
0.10.12
0.10.11
json_serializableandjson_annotation(#904)
0.10.10
Instrumentation run failed due to Process crashedon Android(#902)
0.10.9
NativeAutomator, but it's notinitialized (#856)
0.10.8
iOS (#747, #752)
PatrolTestRunnerclass, which should be used instead ofFlutterTestRunnerinMainActivityTest.javafile (#754)0.10.7
(#727)
0.10.6
LiveTestWidgetsFlutterBindingFramePolicyinpatrolTest()(#716)0.10.5
0.10.4
Android (#688)
0.10.3
0.10.2
CGVectorMake(), which isunavailable in Swift (#676)
0.10.1
0.10.0
#671)
0.9.1
NativeAutomator.swipe()to enable simple swiping (#669)0.9.0
PatrolTester.log()- it did not fit in there and wasrarely used (#665)
PatrolTesterConfig.appName- it's only usage was inPatrolTester.log(), and since it was removed, this field is removed as well(#665)
0.8.0
PatrolTester.pumpAndSettle()method to usenamed arguments (#657)
PatrolTester.dragUntilVisible()not callingfirston itsFinder viewparameter (#656)
0.7.6
NativeAutomatorandHostAutomator(#644)
PatrolFinderExceptionwhenPatrolFinder.textfails (#644)0.7.5
PatrolTestConfigtoPatrolTesterConfigNativeAutomatorConfigHostAutomatorConfigHostAutomator.run()method, which lets you run programs on yourcomputer from within your Flutter integration tests (#630)
0.7.4
0.7.3
patrolIntegrationDriver, which extends the defaultintegrationDriverwith cool features like taking screenshots. More features enabled by
patrolIntegrationDriverare coming soon! (#593)PatrolTestConfig(#591)
0.7.2
PatrolFinder.which()(#571)0.7.1
andSettleparam toPatrolFinder.scrollTo()(#501)0.7.0
In this release, we've focused on stability, reliability, and reducing
flakiness.
isPermissionDialogVisible()method (#448)0.6.12
patrolTest(#419)0.6.11
NativeAutomator.forTest()constructor to an unnamedconstructor (#410)
useBindingflag toNativeAutomatorconstructor. Defaults to true,which means that
PatrolBindingis initialized during the constructor call(#410)
timeoutargument toNativeAutomatorbeing ignored (#410)0.6.10
$()accept aWidgetas an argument (#402)0.6.9
appIdargument from most methods (#399)getNativeWidgets()togetNativeViews()(#399)0.6.8
0.6.7+1
0.6.7
0.6.6
openApp()open the app under test when noappIdis passed (#338)enableWifi(),disableWifi(), andopenRecentApps()on iOS(#338)
0.6.5
0.6.4+1
Patrolclass (#349)0.6.4
0.6.3
package:flutter_test(#308)0.6.2
hostandportto be defined inpatrol.tomlor passed in ascommand-line arguments (#301)
PatroltoNativeAutomatorand embed it inPatrolTester(#297)0.6.1
(#260)
homepagefield inpubspec.yaml(#254)0.6.0
sleepfromMaestroTestConfig. Use the new--waitargumentavailable in the CLI (#251)
0.5.5
tap(),enterText(), andhandlePermission()methods oniOS
Maestro.forTest(): add optionalpackageNameandbundleIdarguments0.5.4
package:flutter_test0.5.3
MaestroFinder.textgetter more robust0.5.2
StateErrorbeing thrown whenMaestroTester.dragUntilVisible found more than 1 finder after dragging to it
(#228)
0.5.1
0.5.0+1
0.5.0
Revamp scrolling and dragging (#217)
MaestroTester.dragUntilExists()MaestroTester.dragUntilVisible()'s behaviorMaestroTester.scrollUntilExistsmethodMaestroTester.scrollUntilVisiblemethodMaestroFinder.dragTowas renamed toMaestroFinder.scrollToand now alsoscrolls to widgets that are not yet built (e.g in a lazily-built
ListView)Allow for more fine-grained control over timeouts (#191)
settleTimeout, which is used forMaestroTester.pumpAndSettle(whichforwards it to
WidgetTester.pumpAndSettle)existsTimeout, which is used forMaestroFinder.waitUntilExistsvisibleTimeout(previouslyfindTimeout), which is used byMaestroFinder.waitUntilVisible(which is then used internally byMaestroFinder.tap()andMaestroFinder.enterText().0.4.6
package:freezedto v1 beacuse customer project is not able toupdate to v2
0.4.5
MaestroTestConfigclass which is accepted bymaestroTestfunction.Use it to share common configuration across all tests
package:freezedto v2. Dependent projects should also make thischange
0.4.4
MaestroFinder:visiblemethod towaitUntilVisiblewaitUntilExistsmethodexistsgettervisiblegetter0.4.3
MaestroFinder.dragToMaestroTester.dragandMaestroTester.dragFrom0.4.2
MaestroFinder.visiblegetter to a method, which now also takes atimeout
MAESTRO_ARTIFACT_PATHenvironment variable to `MAESTRO_CACHEMaestroTester.dragUntilVisiblenot waiting for the scrollable to appearMaestroFinder.allCandidatesreturning incorrect results0.4.1
MaestroFinderFoundNothingExceptionwhen [MaestroFinder.visible]doesn't find any widget during [MaestroTester.findTimeout]
0.4.0
MaestroFinder:tap()andenterText()wait for the widget to become visible. Thetimeout can be configured by setting
findTimeoutinmaestroTest()indexparameter fromtap()andenterText(). The new way to selectthe widget to be tapped is to use
at()before tapping. Same goes forentering text
bool andSettleparameter tomaestroTestfunction. This lets youglobally configure whether to call
pumpAndSettleafter actions such astap()orenterText()MaestroTester.dragUntilVisibleto be simpler to usewithDescendant()tocontaining()Native:
Maestro.openNotifications()andMaestro.openQuickSettings()morerobust
0.3.3
Finderto$MaestroFinder.first,MaestroFinder.last,MaestroFinder.at()returnMaestroFinder, notFinder0.3.2
Improve selector engine:
KeyasmatchingtoMaestroTester.call(dynamic matching)andMaestroFinder.$(dynamic matching)Add
sleepparameter formaestroTestmethodMake
WidgetTester's forwarded methods inMaestroTesteraccept lessarguments
Add more in-code documentation
0.3.1
Improve selector engine:
MaestroFinderasmatchingtoMaestroTester.call(dynamic matching)andMaestroFinder.$(dynamic matching)MaestroFinders (e.g$(Scaffold).$(Container).$(#someText)) to not work.Add more in-code documentation and improve README
0.3.0
0.2.0
Introduce
Selectorclass, which can be passed intoMaestro.tap(selector).Add more platform functionality:
Maestro.enableWifi()andMaestro.disableWifi()Maestro.enableCellular()andMaestro.disableCellular()Maestro.enableDarkMode()andMaestro.disableDarkMode()Maestro.getNotifications(),Maestro.getFirstNotification(), andMaestro.tapOnNotification(int index)Make
Maestro.forTest()automatically callIntegrationTestWidgetsFlutterBinding.ensureInitialized()Fix many smaller issues
0.1.4
AutomatortoMaestroMaestro.forTest()Maestro.forDriver()0.1.3
0.1.2
0.1.1
0.1.0
TextView,EditText, andButtonon Android). This also applies to WebView.0.0.6
package:leancode_lintin README0.0.5
0.0.4
0.0.3
maestrotomaestro_test0.0.2
maestroandmaestro_cliinto separate packages0.0.1
v4.1.0Compare Source
PlatformAutomatorto exports. (#2833)v4.0.1Compare Source
js. (#2831)v4.0.0Compare Source
Patrol 4.0 is here!
Read the article announcing Patrol 4.0 here.
New API for native/platform interactions:
PlatformAutomator). (#2789)NativeAutomatorandNativeAutomator2. (#2789)Add support for running Patrol tests on Web:
WebAutomatorthat handles numerous interactions with native browser:enableDarkMode,disableDarkMode,tap,enterText,scrollTo,grantPermissions,clearPermissions,addCookie,getCookies,clearCookies,pressKey,pressKeyCombo,uploadFile,verifyFileDownloads,goBack,goForward,acceptNextDialog,dismissNextDialog,resizeWindow,setClipboard,getClipboard.--web-results-dir,--web-report-dir,--web-reporter,--web-timeout,--web-global-timeout,--web-retries,--web-workers,--web-shard,--web-video,--web-headless,--web-locale,--web-timezone,--web-color-scheme,--web-geolocation,--web-permissions,--web-user-agent,--web-viewport.Add support for configurable test directory via
test_directoryoption inpubspec.yaml. (#2728)Introduces experimental
--full-isolationflag that uninstall the app between each run on iOS Simulator. (#2803)Bump
patrol_logto0.6.0.BREAKING CHANGE
integration_testtopatrol_test. (#2728)This version requires version
4.0.0ofpatrol_clipackage.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.