
The goal here is to have a great standalone `android_engine_test` suite that [replaces `scenario_app/android`](https://github.com/flutter/flutter/pull/160992). No test is _functionally_ changed in this PR, but overview of changes: - Finished renaming the suite `android_engine_tests` instead of `flutter_driver_android` - Added instructions and an environment variable for local generation of golden-files (`UPDATE_GOLDENS=1`) - Added explanations of the individual tests, where they live, and how to run them locally - Added a hybrid-composition (HC, not TLHC, which is already tested) test - Renamed "other_smiley" to "surface_texture_smiley" (and renamed the original to "surface_producer_smiley") - Removed unnecessary ".android" suffix (we will not run this on anything but Android) - Added a `tool/deflake.dart` to run a test suite 10x (or custom) times locally to try and determine flakiness After this PR, I'll add flags to let you control variants and name the screenshots accordingly, i.e.: - API v34 or v35 - OpenGLES or Vulkan (will require an `AndroidManifest.xml` edit during the test instrumentation)
Android Extensions for Flutter Driver
This a minimal library on top of flutter_driver
that provides extensions for
interacting with the native Android platform, to otherwise perform actions that
are not possible purely through Flutter Driver, and would want to run as an
external test (run on the host, not on the device):
- Take a screenshot, including of native widgets (platform views, textures)
- Tap on a native widget
- Rotate the device
- Background an app and send a "trim memory" signal to the device
Note
While this library runs on Flutter's own CI, and is used to test Flutter's Platform Views, it is not officially supported as an external API, and may change or be removed at any time. We recommend you use existing testing infrastructure, such as: