Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

[instrumentation_adapter] enable Firebase Test Lab Android testing #1866

Merged
merged 76 commits into from Aug 27, 2019

Conversation

collinjackson
Copy link
Contributor

@collinjackson collinjackson commented Jul 16, 2019

This pull request adds Firebase Test Lab Android instrumentation test adapter to the first-party plugins repo.

Using the plugin requires calling InstrumentationAdapterFlutterBinding.ensureInitialized and using testWidgets rather than test. Furthermore, a Java test file must be added to the androidTest folder. Examples of this will be provided in a subsequent PR.

Ultimately I'd like to refactor the common functionality into engine and see the "flutter create" template include the boilerplate files for running instrumentation tests automatically, but first we need to try them out a bit with plugins and iterate on usability. So I've put the functionality into a plugin.

Joint work with @digiter

Example video (requires Flutter infra console access to view)

https://firebase.corp.google.com/u/0/project/flutter-infra/testlab/histories/bh.fd85a82ead1f4de/matrices/7844623689026548057/executions/bs.ac7032cef1ca34b9/videos

Related Issues

flutter/flutter#11718

Requires https://github.com/flutter/plugin_tools/pull/51 to land this

This PR originally had put Firebase Test Lab on Cirrus and added tests to other plugins, but that's been moved out to a separate PR for easier reviewing.

@collinjackson collinjackson changed the title ## Description [package_info] Android instrumentation test example Jul 16, 2019
@collinjackson collinjackson self-assigned this Aug 1, 2019
@collinjackson collinjackson changed the title [package_info] Android instrumentation test example [package_info] enable Firebase Test Lab Android testing Aug 6, 2019
@digiter digiter self-requested a review August 21, 2019 22:26
Copy link
Contributor

@digiter digiter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@collinjackson collinjackson changed the title [instrumentation_adapter] [package_info] enable Firebase Test Lab Android testing [instrumentation_adapter] enable Firebase Test Lab Android testing Aug 27, 2019
@collinjackson collinjackson merged commit f02aab8 into flutter:master Aug 27, 2019
mormih pushed a commit to mormih/plugins that referenced this pull request Nov 17, 2019
…lutter#1866)

This pull request adds Firebase Test Lab Android instrumentation test adapter to the first-party plugins repo.

Using the plugin requires calling `InstrumentationAdapterFlutterBinding.ensureInitialized` and using `testWidgets` rather than `test`. Furthermore, a Java test file must be added to the androidTest folder. Examples of this will be provided in a subsequent PR.

Ultimately I'd like to refactor the common functionality into engine and see the "flutter create" template include the boilerplate files for running instrumentation tests automatically, but first we need to try them out a bit with plugins and iterate on usability. So I've put the functionality into a plugin.

Joint work with @digiter
sungmin-park pushed a commit to sungmin-park/flutter-plugins that referenced this pull request Dec 17, 2019
…lutter#1866)

This pull request adds Firebase Test Lab Android instrumentation test adapter to the first-party plugins repo.

Using the plugin requires calling `InstrumentationAdapterFlutterBinding.ensureInitialized` and using `testWidgets` rather than `test`. Furthermore, a Java test file must be added to the androidTest folder. Examples of this will be provided in a subsequent PR.

Ultimately I'd like to refactor the common functionality into engine and see the "flutter create" template include the boilerplate files for running instrumentation tests automatically, but first we need to try them out a bit with plugins and iterate on usability. So I've put the functionality into a plugin.

Joint work with @digiter
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
5 participants