Docker Image for running Android Espresso tests on Fire Base Test Lab Edit
720
This Docker image extends the image carlospaulino/android-builder by installing Google Cloud Tools in order to support for Firebase Test Lab.
See here for the full list of Android dependencies.
It’s important to highlight that this Docker image doesn’t authorize the Google Cloud Tools. You have to do it manually by following their guide here.
If you are using this image on a CI environment such as Travis CI or Bitbucket Pipelines you could setup Google Cloud Tools and run the Espresso tests on Firebase Test Lab using a few custom gradle tasks.
You could expose an environmental variable containing your service account key (GCLOUD_KEY) encoded in base64 and another one with the project id (PROJECT_ID).
task(setupFtl) {
doLast {
if (!System.getenv('GCLOUD_KEY') || !System.getenv('PROJECT_ID')) {
throw new IllegalStateException("Missing env vars GCLOUD_KEY or PROJECT_ID")
}
new File("$rootProject.rootDir/gcloud-key.json").write(new String(System.getenv('GCLOUD_KEY').decodeBase64()), "UTF-8")
exec {
commandLine(['gcloud', 'auth', 'activate-service-account', '--key-file', "$rootProject.rootDir/gcloud-key.json"])
}
exec {
commandLine(['gcloud', 'config', 'set', 'project', System.getenv('PROJECT_ID')])
}
}
}
Then you can create another task to run the tests.
task(runFtl) {
doLast {
exec {
commandLine([
'gcloud', 'beta', 'test', 'android', 'run',
'--type', 'instrumentation',
'--app', "$rootProject.rootDir/app/build/outputs/apk/app-debug.apk",
'--test', "$rootProject.rootDir/app/build/outputs/apk/app-debug-androidTest.apk",
'--device-ids', 'Nexus5',
'--os-version-ids', '23',
'--locales', 'en',
'--orientations', 'portrait'
])
}
}
}
runFtl.dependsOn "setupFtl"
runFtl.dependsOn ":app:assembleDebug"
runFtl.dependsOn ":app:assembleAndroidTest"
Copyright (c) 2017 Carlos Paulino [email protected].
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Content type
Image
Digest
Size
2.5 GB
Last updated
over 9 years ago
docker pull carlospaulino/android-builder-ftl