Scenario App

GitHub Issues or Pull Requests by label

This package simulates a Flutter app that uses the engine (dart:ui) only, in conjunction with Android and iOS-specific embedding code that simulates the use of the engine in a real app (such as plugins and platform views).

The bin/run_android_tests.dart and run_ios_tests.sh are then used to run the tests on a connected device or emulator.

See also:

  • File an issue with the e: scenario-app label.
  • bin/, the entry point for running Android integration tests.
  • lib/, the Dart code and instrumentation for the scenario app.
  • ios/, the iOS-side native code and tests.
  • android/, the Android-side native code and tests.

Running a smoke test on Firebase TestLab

To run the smoke test on Firebase TestLab test, build android_profile_arm64, and run ./ci/firebase_testlab.py, or pass --variant to run a different configuration.

# From the root of the engine repository
$ ./ci/firebase_testlab.py --variant android_debug_arm64

[!NOTE] These instructions were not verified at the time of writing/refactoring.

Adding a New Scenario

Create a new subclass of Scenario and add it to the map in scenarios.dart. For an example, see animated_color_square.dart, which draws a continuously animating colored square that bounces off the sides of the viewport.

Then set the scenario from the Android or iOS app by calling set_scenario on platform channel driver.