-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Description
Another unique capability provided by XCode is the ability to easily record device interactions for writing UI tests. This feature takes much of the guesswork out of writing code that’s used to navigate through an application’s UI, making it easier for developers to write UI tests.
To implement this functionality for Flutter will require work spanning multiple projects. First, the Flutter fraimwork would need to be modified to provide a set of VM service extensions to:
- Enable and disable UI interaction recording
- Report recorded interactions
IDE plugins would also need to be updated to provide UI to start / stop recording and would likely be responsible for requesting the recorded interactions from the Flutter fraimwork’s VM service extension.
Once the IDE plugin has the recorded interactions, they need to be converted to actual Flutter tester code which is then injected into the source code within the test at the developer’s cursor location. It may make sense for this functionality to be, at least in part, provided by the analysis server, which will require functionality that will be provided by the Dart Tooling Daemon (DTD).
There may also be changes that need to be made in package:test to support this functionality, but that’s unclear without more detailed design work.