72
Page 1/72 DevFest Kansai 2016 LT (2016/11/27) Firebase Test Lab 無料枠を使ってみました。

Firebase Test Lab 無料枠を使ってみました。

Embed Size (px)

Citation preview

Page 1: Firebase Test Lab 無料枠を使ってみました。

Page1/72

DevFestKansai2016LT(2016/11/27)

FirebaseTestLab無料枠を使ってみました。

Page 2: Firebase Test Lab 無料枠を使ってみました。

Page2/72

自己紹介名前 robo(兼高理恵)お仕事 Java技術者 要件定義に設計から実装まで好きなもの モバイル端末

Page 3: Firebase Test Lab 無料枠を使ってみました。

Page3/72

FirebaseTestLabforAndroidで無料枠が使えるようになりました。

Page 4: Firebase Test Lab 無料枠を使ってみました。

Page4/72

GoogleDevelopersJapanFirebaseDevSummit速報速報:I/Oからから6か月後のか月後のFirebase(2016/11/15)https://googledevjp.blogspot.jp/2016/11/live-from-firebase-dev-summit-in-berlin.html(オリジナル)

FirebaseTestLabforAndroidでサポートされる端末の種類が増え、無償版が導入されます。

本日より、Sparkサービス(無償版)をご利用の場合、1日あたり物理端末で5回、仮想端末で10回のテストを実行できるようになります。クレジットカードの設定は不要です。また、端末の選択肢を増やしてほしいという要望にお応えし、本日より、11種類の人気Android機種をTestLabに新しく追加しています。

Page 5: Firebase Test Lab 無料枠を使ってみました。

Page5/72

FirebaseTestLabforAndroidで無料枠が使えるようになりました。TheFirebaseBlogStartusingFirebaseTestLabforAndroidatnocharge(2016/11/17)https://firebase.googleblog.com/2016/11/start-using-firebase-test-lab-for-android-at-no-charge.html

Page 6: Firebase Test Lab 無料枠を使ってみました。

Page6/72

SPARKプラン(無償版)を利用していても、以下の制限内なら無料でテスト実行ができるそうです。1日につき、「実機デバイスで5つのテスト、仮想デバイスで10のテスト」が無料で実行できます。1回のテスト実行では、最大で4つの異なるデバイスを指定できます。テスト実行では、実機と仮想デバイスが混在できます。

つまり実機1つと仮想デバイス2つをセットでテストするのなら、1日につき5回分のテスト実行が無料で実行できることになります。

Page 7: Firebase Test Lab 無料枠を使ってみました。

Page7/72

(確認)Firebaseの料金体系Firebase料金プランhttps://firebase.google.com/pricing/Firebaseは、無料のSPARKプランでも制限付きで利用開始できますが、今までの料金体系でTestLabを利用するには、使用量に基づいて課金されるBLAZE有料プランにアップグレードする他ありませんでした。もちろん有料プランにアップグレードするには、クレジットカードが必要になります。

とはいえ、とはいえ、BLAZEプランにアップグレードすれば無制限にテスト実行できるようになります。プランにアップグレードすれば無制限にテスト実行できるようになります。

Page 8: Firebase Test Lab 無料枠を使ってみました。

Page8/72

(確認)Firebaseの料金体系

Page 9: Firebase Test Lab 無料枠を使ってみました。

Page9/72

(補足)テストするアプリケーションについてテストに利用したアプリケーションは、FirebaseAndroidCodelabのプロジェクトを利用しました。このサンプルは、FirebaseConsoleでの新規プロジェクト作成からAnalysticsやTestLabまでの実践演習になっています。

https://codelabs.developers.google.com/codelabs/firebase-android/index.html

Page 10: Firebase Test Lab 無料枠を使ってみました。

Page10/72

テスト内容についてFirebaseAndroidCodelabでは、Instrumenttestを使ってTestLabでのテスト実行の演習を行っています。実機(またはエミュレータ)でSignIn画面を表示して「ログイン」ボタンが表示されていることをチェックするだけの簡単なテストです。

Page 11: Firebase Test Lab 無料枠を使ってみました。

Page11/72

FirebaseTestLabforAndroidの概要FirebaseTestLabforAndroidを参照https://firebase.google.com/docs/test-lab/?hl=ja

Page 12: Firebase Test Lab 無料枠を使ってみました。

Page12/72

FirebaseTestLabforAndroidの概要FirebaseTestLabforAndroidの概要を参照https://firebase.google.com/docs/test-lab/overview/?hl=ja

Page 13: Firebase Test Lab 無料枠を使ってみました。

Page13/72

FirebaseTestLabforAndroid(その他)今回利用しませんでしたが、テスト中で任意にスクリーンショットを撮る方法も説明されています。FirebaseTestLabforAndroidインストゥルメンテーションテストのスクリーンショットを作成するhttps://firebase.google.com/docs/test-lab/test-screenshots?hl=ja

Page 14: Firebase Test Lab 無料枠を使ってみました。

Page14/72

次ページより実際にAndroidStudioとFirebaseConsoleから

FirebaseTestLabをテスト実行させた結果になります。

Page 15: Firebase Test Lab 無料枠を使ってみました。

Page15/72

AndroidStudioからFirebaseTestLabを実行する

Page 16: Firebase Test Lab 無料枠を使ってみました。

Page16/72

AndroidStudioからFirebaseTestLabを実行する設定手順概要AndroidStudioからFirebaseTestLabを利用する場合は、Instrumenttestのテストコードの実装を行い、FirebaseドキュメントのAndroidStudioからFirebaseTestLabforAndroidを使用する。https://firebase.google.com/docs/test-lab/android-studio?hl=jaに記載された設定手順を行います。ですが記述内容は、対象バージョンが1.3〜1.5と少し古くなっています。(注意)2016/11/25時点での最新AndroidStudioバージョンは、2.2.2です。

Page 17: Firebase Test Lab 無料枠を使ってみました。

Page17/72

Page 18: Firebase Test Lab 無料枠を使ってみました。

Page18/72

AndroidStudioからFirebaseTestLabを実行する設定手順概要AndroidStudio2.0以上で無料でTestLabを使用する場合は、課金を有効にする指定を無視課金を有効にする指定を無視して、FirebaseAndroidCodelabの16.TestYourApp(inthecloud!)https://codelabs.developers.google.com/codelabs/firebase-android/index.html#15の設定手順を行います。

Page 19: Firebase Test Lab 無料枠を使ってみました。

Page19/72

Page 20: Firebase Test Lab 無料枠を使ってみました。

Page20/72

AndroidStudioからFirebaseTestLabを実行する設定手順概要基本的に「AndroidStudioからFirebaseTestLabforAndroidを使用する。」の設定手順から「課金を有効にして「課金を有効にしてFirebaseプロジェクトを作成する」プロジェクトを作成する」と「「AndroidStudioででTestLabを有効にする」を有効にする」を除外した手順になります。

以上で説明は終了ですが、以上で説明は終了ですが、判りにくいと思いますので、次から具体例を示します。判りにくいと思いますので、次から具体例を示します。

Page 21: Firebase Test Lab 無料枠を使ってみました。

Page21/72

AndroidStudioからFirebaseTestLabを実行Run/DebugConfigurationダイアログを開くダイアログを開くAndroidStudioのメニューからRun>EditConfigrations…でRun/DebugConfigurationダイアログダイアログを開き、左上の[++]ボタンから[AndroidTests]を選択してInstrumenttestの設定を追加します。

Page 22: Firebase Test Lab 無料枠を使ってみました。

Page22/72

GereralタブのDeploymentTargetOptions項目より上の設定は、通常のInstrumenttestを行う場合の設定と同じです。

Page 23: Firebase Test Lab 無料枠を使ってみました。

Page23/72

AndroidStudioからFirebaseTestLabを実行FirebaseTestLabでテスト実行させるように指定FirebaseTestLabでテスト実行させる場合は、TargetのドロップダウンリストからFirebaseTestLabMatrixを選択します。

Page 24: Firebase Test Lab 無料枠を使ってみました。

Page24/72

FirebaseTestLabMatrixの選択により、FirebaseTestLab.PricingInfomationリンクやConnettoFirebaseボタンが表示されます。

Page 25: Firebase Test Lab 無料枠を使ってみました。

Page25/72

AndroidStudioからFirebaseTestLabを実行Firebaseサービスの課金コース確認FirebaseTestLab.PricingInfomationリンクをクリックするとブラウザが開き、Firebaseサービスで現在利用している料金プラン情報が表示されます。

Page 26: Firebase Test Lab 無料枠を使ってみました。

Page26/72

(例では無料版のSPARKであることが表示されています)

Page 27: Firebase Test Lab 無料枠を使ってみました。

Page27/72

AndroidStudioからFirebaseTestLabを実行Firebaseサービスへの接続許可ConnettoFirebaseボタンをクリックするとブラウザが開き、Firebaseサービスを利用するための許可が求められるので、[許可]ボタンをクリックします。

Page 28: Firebase Test Lab 無料枠を使ってみました。

Page28/72

AndroidStudioからFirebaseTestLabを実行Firebaseサービスへの接続結果先の画面で[許可]ボタンをクリックするとブラウザが開き、許可の結果が表示されます。

Page 29: Firebase Test Lab 無料枠を使ってみました。

Page29/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定MatrixConfigrationの[…]をクリックすると、クラウド上でテストを実行する端末の設定マトリクス(Device×Platform×Locale×Orientation)と組み合わせ数が指定できます。Matrix数は、各項目の組み合わせ数により決定されます。例えば、Device、Platform、Locale、Orientationより各1項目のみ選択した場合の組み合わせ数は1ですがOrientationでPortlateとLandscapeの両方(2つ)を選ぶと組み合わせ数は2となります。

Page 30: Firebase Test Lab 無料枠を使ってみました。

Page30/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定Device選択選択

(例では37項目から1機種のみを選択しています)

Page 31: Firebase Test Lab 無料枠を使ってみました。

Page31/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定Platform選択選択

(例では4.3.x〜7.1.xの7APIから1APIのみを選択しています)

Page 32: Firebase Test Lab 無料枠を使ってみました。

Page32/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定Locale選択選択

(例では1ロケールのみを選択しています)

Page 33: Firebase Test Lab 無料枠を使ってみました。

Page33/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定Orientation選択選択

(例では縦置横置の2方向から1方向のみを選択しています)

Page 34: Firebase Test Lab 無料枠を使ってみました。

Page34/72

AndroidStudioからFirebaseTestLabを実行MatrixConfigrationの設定Cloudprojectの設定の設定

(Firebaseconsoleで設定した当該アプリのFirebaseprojectを選択)OKボタンをクリックすればMatrixConfigration設定は終了です。

Page 35: Firebase Test Lab 無料枠を使ってみました。

Page35/72

AndroidStudioからFirebaseTestLabを実行テスト実行...だが実行できず。メニューからRun>Run'FrientdryChatTest'でテスト実行するも、Firebaseの課金設定を有効にしてください(Pleaseenablebilling)と警告されてしまいました。

Page 36: Firebase Test Lab 無料枠を使ってみました。

Page36/72

結論

AndroidStudioからFirebaseTestLabの実行は不可現時点のAndroidStudio(2.2.2)では、FirebaseTestLab無料枠のテスト実行に対応していないようでした。

Page 37: Firebase Test Lab 無料枠を使ってみました。

Page37/72

FirebaseConsoleからTestLabを実行する

Page 38: Firebase Test Lab 無料枠を使ってみました。

Page38/72

FirebaseConsoleからFirebaseTestLabsを実行する設定手順概要FirebaseConsoleからTestLabを利用する場合は、FirebaseドキュメントのFirebaseTestLabforAndroidを使用してテストを実行するhttps://support.google.com/firebase/answer/6386654?hl=jaに記載された設定手順を参照ください。

Page 39: Firebase Test Lab 無料枠を使ってみました。

Page39/72

Page 40: Firebase Test Lab 無料枠を使ってみました。

Page40/72

FirebaseConsoleからFirebaseTestLabを実行する設定手順概要大まかな手順の流れは、Instrumenttestテストコードを実装して、FirebaseConsoleからTestLabを選択し、アプリとInstrumenttestのAPKアップロードを行ってから、AndroidStudioと同じように各種設定手順を行っていきます。

Page 41: Firebase Test Lab 無料枠を使ってみました。

Page41/72

FirebaseConsoleからFirebaseTestLabを実行する設定手順概要FirebaseConsoleにログイン

Page 42: Firebase Test Lab 無料枠を使ってみました。

Page42/72

FirebaseConsoleからFirebaseTestLabを実行する設定手順概要テストを行うFirebaseProjectを選択

Page 43: Firebase Test Lab 無料枠を使ってみました。

Page43/72

FirebaseConsoleからFirebaseTestLabを実行する設定手順概要FirebaseTestLabを選択

Page 44: Firebase Test Lab 無料枠を使ってみました。

Page44/72

FirebaseConsoleからFirebaseTestLabを実行する設定手順概要

以降は、FirebaseTestLabforAndroidを使用してテストを実行するドキュメントに従って設定手続きならびにテスト実行を行ないます。

Page 45: Firebase Test Lab 無料枠を使ってみました。

Page45/72

FirebaseConsoleからTestLabを実行

インストゥルメンテーションテスト実行

Page 46: Firebase Test Lab 無料枠を使ってみました。

Page46/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。

インストゥルメンテーションテストを選択し、[実行]ボタンをクリックします。

Page 47: Firebase Test Lab 無料枠を使ってみました。

Page47/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。アプリとアプリとInsturumenttestののAPKをアップロードする。をアップロードする。

Page 48: Firebase Test Lab 無料枠を使ってみました。

Page48/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。テストを実行するテストを実行する端末端末×APIレベルレベル×Locale×Orientationを指定を指定

Page 49: Firebase Test Lab 無料枠を使ってみました。

Page49/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。端末端末×APIレベルレベル×Locale×Orientationを指定を指定

[1つのテストを実行]ボタンをクリックするとテスト実行がおこなわれます。

Page 50: Firebase Test Lab 無料枠を使ってみました。

Page50/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。インストゥルメンテーションインストゥルメンテーションテストテスト実行終了実行終了

Page 51: Firebase Test Lab 無料枠を使ってみました。

Page51/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。テスト実行結果の生ログ一覧テスト実行結果の生ログ一覧

Page 52: Firebase Test Lab 無料枠を使ってみました。

Page52/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。テスト実行結果のスタイル付きログ一覧テスト実行結果のスタイル付きログ一覧

Page 53: Firebase Test Lab 無料枠を使ってみました。

Page53/72

FirebaseConsoleからTestLabを実行インストゥルメンテーションテストを実行する。テスト実行結果の動画再生テスト実行結果の動画再生

テスト実行が録画されるので、テスト状況が動画で確認できます。

Page 54: Firebase Test Lab 無料枠を使ってみました。

Page54/72

FirebaseConsoleからTestLabを実行

Roboテスト実行

Page 55: Firebase Test Lab 無料枠を使ってみました。

Page55/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。

Roboテストを選択し、[実行]ボタンをクリックします。

Page 56: Firebase Test Lab 無料枠を使ってみました。

Page56/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。アプリのアプリのAPKをアップロードする。をアップロードする。

Page 57: Firebase Test Lab 無料枠を使ってみました。

Page57/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テストを実行するテストを実行する端末端末×APIレベルレベル×Locale×Orientationを指定を指定

Page 58: Firebase Test Lab 無料枠を使ってみました。

Page58/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。端末端末×APIレベルレベル×Locale×Orientationを指定を指定

[1つのテストを開始]ボタンをクリックするとテスト実行がおこなわれます。

Page 59: Firebase Test Lab 無料枠を使ってみました。

Page59/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。Roboテストテスト実行終了実行終了

Page 60: Firebase Test Lab 無料枠を使ってみました。

Page60/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テスト実行結果のスタイル付きログ一覧テスト実行結果のスタイル付きログ一覧

Page 61: Firebase Test Lab 無料枠を使ってみました。

Page61/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テスト実行結果の生ログ一覧テスト実行結果の生ログ一覧

Page 62: Firebase Test Lab 無料枠を使ってみました。

Page62/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テスト実行結果のスクリーンショット一覧テスト実行結果のスクリーンショット一覧

Page 63: Firebase Test Lab 無料枠を使ってみました。

Page63/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テスト実行結果のアクティビティマップテスト実行結果のアクティビティマップ(画面遷移図画面遷移図)一覧一覧

Page 64: Firebase Test Lab 無料枠を使ってみました。

Page64/72

FirebaseConsoleからTestLabを実行Roboテストを実行する。テスト実行結果の動画再生テスト実行結果の動画再生

テスト実行が録画されるので、テスト状況が動画で確認できます。

Page 65: Firebase Test Lab 無料枠を使ってみました。

Page65/72

結果

FirebaseConsoleからTestLabは実行OKFirebaseConsoleからFirebaseTestLab無料枠のテスト実行が行えました。インストゥルメントテーションテストでは、テスト可否だけでなく、ログ出力、テスト中の動画が記録されます。Roboテストでは、テスト可否だけでなく、ログ出力、スクリーンショット、アクティビティマップ(画面遷移図)、テスト中の動画まで記録されます。

Page 66: Firebase Test Lab 無料枠を使ってみました。

Page66/72

総括

TestLab無料枠でテスト実行ができました。AndroidStudioからTestLabのテスト実行は現時点で未対応FirebaseConsoleからTestLabのテスト実行は可能アプリ本体とInstrumenttestのAPKアップロードが必要。Instrumenttestでは、ログやテスト中の動画も記録される。Robotestも実行でき、ログやテスト中のスクリーンショットや動画およびアクティビティマップ(画面遷移図)も記録される。

Device×Platform×Locale×Orientationの組み合わせに注意する。テスト対象機種にAQUOSやarrowsがなく、まだ日本向けとは言いがたい。TestLabを活用するためには、Insturmentaiontest(AndroidTest)を作らなくてはいけない!

Page 67: Firebase Test Lab 無料枠を使ってみました。

Page67/72

ご清聴、ありがとうございました。

Page 68: Firebase Test Lab 無料枠を使ってみました。

Page68/72

(補足)MatrixConfigration選択項目一覧組み合わせ数は、

Device選択数×Platform選択数×Locale選択数×Orientation選択数…で求められることに注意。

Device(37種類)PHYSICAL(29機種)XperiaZ2Sony,XperiaZ3Sony,XperiaZ5CompactSony,MotoG4PlusMotorola,MotoG4Motorola,MotoEMotorola,MotoG(1stGen)Motorola,

Page 69: Firebase Test Lab 無料枠を使ってみました。

Page69/72

Nexus7(2013)ASUS,Nexus9HTC,LGG3LG,Nexus5LG,GalaxyS7Samsung,GalaxyNote3DuosSamsung,HTCOne(M8)HTC,GalaxyJ5Samusung,GalaxyS4(3G)Samsung,GalaxyTab3SamsungSamsungGalaxyS3,SamsungNexus4LG,MotoG(3rdGen)MotoloraLGG4LG,

Page 70: Firebase Test Lab 無料枠を使ってみました。

Page70/72

GalaxyS4miniSamsungNexus6Motorola,GalaxyNote2Samsung,MotoG(2ndGen)Motorola,GalaxyNote4Samsung,MotoXMotorola,GalaxyS6Samsung,GalaxyS6EdgeSamsung,

VIRTUAL(8機種)Nexus10Samsung,Nexus4LG,Nexus5LG,Nexus5XLG,Nexus6Motorola,

Page 71: Firebase Test Lab 無料枠を使ってみました。

Page71/72

Nexus6PHuawei,Nexus7(2012)ASUS,Nexus9HTC,

Platform(7種類)Android4.3.xAPI18(JellyBean),Android4.4.xAPI19(KitKat),Android5.0.xAPI21(Lollipop),Android5.1.xAPI22(Lollipop),Android6.0.xAPI23(Marshmallow),Android7.0.xAPI24(Nougat),Android7.1.xAPI25(Nougat),

Locale(1種類)Japanease-default

Page 72: Firebase Test Lab 無料枠を使ってみました。

Page72/72

Orientation(2種類)LanscapePortarait