This package simulates a Flutter app that uses the engine (dart:ui) only, in conjunction with iOS-specific embedding code that simulates the use of the engine in a real app (such as plugins and platform views).
run_ios_tests.sh is used to run the tests on a simulator.
See also:
e: scenario-app label.lib/, the Dart code and instrumentation for the scenario app.ios/, the iOS-side native code and tests.Like a regular Flutter iOS app, the Scenario app consists of the iOS embedding code and the dart logic that are Scenarios.
To introduce a new subclass of Scenario, add it to the map in scenarios.dart. For an example, animated_color_square.dart, which draws a continuously animating colored square that bounces off the sides of the viewport.
The Scenarios app loads a Scenario when it receives a set_scenario method call on the driver platform channel from the objective-c code. However if you're adding a UI test this is typically not needed as you typically should add a new launch argument. See ScenariosUITests for more details.
The run_ios_tests.sh script runs all tests in the Scenarios project. If you're debugging a specific test, rebuild the ios_debug_sim_unopt_arm64 engine variant (assuming testing on a simulator on Apple Silicon chips), and open src/out/ios_debug_sim_unopt_arm64/ios_scenario_app/Scenarios.xcworkspace in xcode. Use the xcode UI to run the test.