All Projects → cats-oss → Fastlane Plugin Firebase_test_lab_android

cats-oss / Fastlane Plugin Firebase_test_lab_android

Licence: mit
Test your app with Firebase Test Lab with ease using fastlane for Android

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Fastlane Plugin Firebase test lab android

Kotlin Android Fastlane Firebase App Distribution
A repository that shows how to use Firebase App Distribution to distribute android app to testers by fastlane.
Stars: ✭ 77 (+97.44%)
Mutual labels:  fastlane, firebase
Angular Firebase App Starter
The starting point of the Angular and Firebase - Build a Web Application Course
Stars: ✭ 37 (-5.13%)
Mutual labels:  firebase
Sapper Template Firebase
Starter Rollup template for Sapper apps with Firebase functions based on https://github.com/nhristov/sapper-template-rollup.
Stars: ✭ 29 (-25.64%)
Mutual labels:  firebase
Quickstart Android
Firebase Quickstart Samples for Android
Stars: ✭ 7,937 (+20251.28%)
Mutual labels:  firebase
Donne
Open-source Blood Donation Platform
Stars: ✭ 30 (-23.08%)
Mutual labels:  firebase
React Firebase
🔥 Sample React + Firebase setup
Stars: ✭ 35 (-10.26%)
Mutual labels:  firebase
Firenote
Online Markdown Notebook - Firebase backend
Stars: ✭ 29 (-25.64%)
Mutual labels:  firebase
Social Note
Social Note - Note-taking, sharing, time & location reminder
Stars: ✭ 38 (-2.56%)
Mutual labels:  firebase
Push Fcm Plugin
Official Firebase Cloud Messaging plugin for Push.js v1.0 🔥
Stars: ✭ 37 (-5.13%)
Mutual labels:  firebase
Ionic Firebase Chat
Create a Real Time Chat App with Ionic && Firebase
Stars: ✭ 33 (-15.38%)
Mutual labels:  firebase
Vuejs Slack Clone Realtime
Slack clone using VueJS and firebase
Stars: ✭ 33 (-15.38%)
Mutual labels:  firebase
Angularconcepts
Key Angular Concepts using Latest Angular version 5
Stars: ✭ 31 (-20.51%)
Mutual labels:  firebase
Fastlane Plugin Pgyer
Distribute app to pgyer beta testing service with fastlane!
Stars: ✭ 35 (-10.26%)
Mutual labels:  fastlane
Firextensions
[DEPRECATED] 🔥 Unofficial Kotlin Extensions for the Firebase Android SDK.
Stars: ✭ 30 (-23.08%)
Mutual labels:  firebase
Screenwriter
A simple online screenwriting app
Stars: ✭ 37 (-5.13%)
Mutual labels:  firebase
Filemap.xyz
upload files to a geographic point. never memorize a link again.
Stars: ✭ 29 (-25.64%)
Mutual labels:  firebase
Firecord
Firecord is an ODM framework for Firebase in Ruby.
Stars: ✭ 32 (-17.95%)
Mutual labels:  firebase
Pysoc.js
😎 Simple gsoc data scraper, search for any keyword and instantly get data about the orgs that match your search criteria, use filters to sort and analyse the data, uses fuzzy-searching to improve user-search experience
Stars: ✭ 35 (-10.26%)
Mutual labels:  firebase
Nativescript Plugin Firebase
🔥 NativeScript plugin for Firebase
Stars: ✭ 990 (+2438.46%)
Mutual labels:  firebase
Netflixclone
This app was made to teach android studio. It will be a little long series. Here tool that I will use to create a Netflix clone; Adobe illustrator; As a designer, I'm using Figma to make my designs (for icons, etc.) Firebase; I am going to use firebase as Backend-as-a-Service (BaaS). so what is Firebase? Firebase is a Backend-as-a-Service (BaaS) app development platform that provides hosted backend services such as a real-time database, cloud storage, authentication, crash reporting, machine learning, remote configuration, and hosting for your static files.
Stars: ✭ 38 (-2.56%)
Mutual labels:  firebase

Firebase Test Lab plugin for fastlane

Inspired by Firebase test lab plugin for ios

Getting Started

License Gem fastlane Plugin Badge

Step 0. Enable the Google Cloud Testing API and Cloud Tool Results API

You must enable the Google Cloud Testing API and Cloud Tool Results API in the Google Developers Console API Library page.

Step 1. First of all, get started with Firebase Test Lab from the gcloud Command Line

Please check Firebase documents

Using with Google Cloud SDK.

# gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=24,locale=en,orientation=portrait  \
  --timeout 90s
  
Have questions, feedback, or issues? Get support by visiting:
  https://firebase.google.com/support/

API [toolresults.googleapis.com] not enabled on project 
[************]. Would you like to enable and retry (this will take a 
few minutes)? (y/N)? y

Enabling service [toolresults.googleapis.com] on project [************]...
Operation "operations/acf.********-****-****-****-************" finished successfully.
  ...
  ...
  ...

Robo testing complete.

More details are available at [https://console.firebase.google.com/project/*******/testlab/histories/**********/matrices/********].
┌─────────┬───────────────────────┬──────────────┐
│ OUTCOME │    TEST_AXIS_VALUE    │ TEST_DETAILS │
├─────────┼───────────────────────┼──────────────┤
│ Passed  │ Nexus6-24-en-portrait │ --           │
└─────────┴───────────────────────┴──────────────┘

Step 2. Add to your project

This project is a fastlane plugin. To get started with fastlane-plugin-firebase_test_lab_android, add it to your project by running:

fastlane add_plugin firebase_test_lab_android 

Step 3. Find the devices you want to test on

Using gcloud tool, you can run.

gcloud firebase test android models list

to get a list of supported devices and their identifiers.

Alternatively all available devices can also be seen here.

Step 4. Add settings to your Fastfile

Test your app with Firebase Test Lab with ease using fastlane.
Check out the example Fastfile to see how to use this plugin.

before_all do
    ENV["SLACK_URL"] = "https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX"
  end

lane :test do

  # Get Pull request number from CI
  pr_number = ENV["CI_PULL_REQUEST"] != nil ? ENV["CI_PULL_REQUEST"][/(?<=https:\/\/github.com\/cats-oss\/android\/pull\/)(.*)/] : nil

  # Upload to Firebase Test Lab
  firebase_test_lab_android(
    project_id: "cats-firebase",                                    # Your Firebase project name.
    gcloud_service_key_file: "fastlane/client-secret.json",         # File path containing the gcloud auth key.
    # gcloud_components_channel: "beta",                            # If you use gcloud component channel option (alpha/beta).     
    type: "robo",                                                   # Optional: Test type (robo/instrumentation).
    devices: [                                                      # Devices
      {
        model: "Nexus6P",
        version: "23",
        locale: "ja_JP",
        orientation: "portrait"
      },
      {
        model: "Pixel2",
        version: "28"
      }
    ],
    app_apk: "app-debug.apk",                                       # The path for your android app apk.
    # app_test_apk: "app-test.apk",                                 # The path for your android instrumentation test apk.
    # use_orchestrator: false,                                      # If you use orchestrator when set instrumentation test.
    console_log_file_name: "fastlane/console_output.log",  
    timeout: "3m",                                                  
    firebase_test_lab_results_bucket: "firebase_cats_test_bucket",  # If you want to naming bucket of GCS 
    # firebase_test_lab_results_dir: "firebase_cats_test_dir",      # If you want to naming results of GCS. (Maybe don't need it.) 
    slack_url: ENV["SLACK_URL"],                                    # If you want notify to Slack.

    # If you want notify to Github pull requests.
    github_owner: "******",                                         # Owner name. 
    github_repository: "************",                              # Repository name.
    github_pr_number: pr_number,                                    # If you using run on CI that need pull request number for auto comment.
    github_api_token: ENV["GITHUB_API_TOKEN"],                      # https://github.com/settings/tokens
    download_dir: ".results",                                       # If you want to download to the results of Firebase test lab.  

    # If you want to ignore some social sign-in buttons.
    extra_options: "--robo-directives ignore:image_button_sign_in_twitter=,ignore:image_button_sign_in_instagram="
  )
end

Finish. Check your slack or Github PR

If you set slack_url: ENV["SLACK_URL"] to Fastfile.

If you set github_owner, github_repository, github_pr_number, github_api_token to Fastfile.

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.

Troubleshooting

If you have trouble using plugins, check out the Plugins Troubleshooting guide.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out fastlane.tools.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].