More Related Content
Similar to Espresso と Firebase Test Lab で Android アプリのテストを自動化する (20)
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
- 1. Espresso と Firebase Test Lab で
Android アプリのテストを自動化する
2016/11/27
DevFest Kansai 2016 LT
Sansan株式会社 辰濱健一
- 3. Copyright © 2014 Sansan, Inc. All rights reserved.
> 自己紹介
2
• 辰濱健一
• 徳島生まれ、奈良育ち、徳島県在住
• 2回転職するも、いずれも徳島県内勤務
• Sansan株式会社所属
• 古民家を改修した神山ラボ勤務
• 名刺アプリ Eight Android 版の開発
• リモートワーク
- 4. Copyright © 2014 Sansan, Inc. All rights reserved.
> 自己紹介
3
• 辰濱健一
• 徳島生まれ、奈良育ち、徳島県在住
• 2回転職するも、いずれも徳島県内勤務
• Sansan株式会社所属
• 古民家を改修した神山ラボ勤務
• 名刺アプリ Eight Android 版の開発
• リモートワーク
- 6. Copyright © 2014 Sansan, Inc. All rights reserved.
> 趣味
5
• 楽器演奏(エレクトーン・トランペット)
• 徳島県内のイベントで、ちらほら演奏する機会を頂い
てます
- 7. Copyright © 2014 Sansan, Inc. All rights reserved.
> Tokushima.app
6
• http://tokushima-app.connpass.com
• 徳島のスマホアプリ開発の勉強会
• 基本もくもく会、たまにハンズオン
• 場所は徳島市内、10:00〜16:00
• 初心者でも OK、入退出自由、参加費無料
- 10. Copyright © 2014 Sansan, Inc. All rights reserved.
Espresso
9
• Google 製 Android テストライブラリ
• https://google.github.io/android-testing-support-
library/docs/espresso/
• UI テストに最適なフレームワーク
• View を探す
• View に対して Action を行う
• View の状態を検証する
- 11. Copyright © 2014 Sansan, Inc. All rights reserved.
サンプルアプリ
10
• 文字を入力
https://github.com/googlesamples/android-
testing/tree/master/ui/espresso/BasicSample
- 12. Copyright © 2014 Sansan, Inc. All rights reserved.
サンプルアプリ
11
• 文字を入力
• 上のボタンタップ
• 入力文字を上部に表示
https://github.com/googlesamples/android-
testing/tree/master/ui/espresso/BasicSample
- 13. Copyright © 2014 Sansan, Inc. All rights reserved.
サンプルアプリ
12
• 文字を入力
• 上のボタンタップ
• 入力文字を上部に表示
• 下のボタンタップ
• 別画面で入力文字を表示
https://github.com/googlesamples/android-
testing/tree/master/ui/espresso/BasicSample
- 15. Copyright © 2014 Sansan, Inc. All rights reserved.
Espresso のテストコード
14
id が R.id.editTextUserInput の View を探して…
- 16. Copyright © 2014 Sansan, Inc. All rights reserved.
Espresso のテストコード
15
文字を入力して、キーボードをとじる
- 17. Copyright © 2014 Sansan, Inc. All rights reserved.
Espresso のテストコード
16
id が R.id.changeTextBt の View をクリック
- 18. Copyright © 2014 Sansan, Inc. All rights reserved.
Espresso のテストコード
17
id が R.id.textToBeChanged の
View のテキストをチェック
- 19. Copyright © 2014 Sansan, Inc. All rights reserved. 18
Espresso は
UI 操作を記述できて
検証できる!
- 21. Copyright © 2014 Sansan, Inc. All rights reserved.
Firebase
20
• Google 製 の BaaS
• https://firebase.google.com/
• 分析、認証機構、ストレージなど開発の支えになる各
種サービスを統合して提供
• その中で、端末のテスト環境も提供されている
→ Firebase Test Lab
- 22. Copyright © 2014 Sansan, Inc. All rights reserved.
Firebase Test Lab
21
• クラウド上の Android 実機を時間借りできる
• テストの種類
• Robo テスト
• いわゆるモンキーテスト
• Instrumentation テスト
• 記述したテストスクリプト(Espresso など)を実行
• テスト中のスクショや動画も確認できる
- 23. Copyright © 2014 Sansan, Inc. All rights reserved.
Firebase Test Lab
22
• クラウド上の Android 実機を時間借りできる
• テストの種類
• Robo テスト
• いわゆるモンキーテスト
• Instrumentation テスト
• 記述したテストスクリプト(Espresso など)を実行
• テスト中のスクショや動画も確認できる
- 24. Copyright © 2014 Sansan, Inc. All rights reserved.
Firebase Test Lab で Espresso を!
23
- 25. Copyright © 2014 Sansan, Inc. All rights reserved.
Firebase コンソール
24
Test Lab をクリック
- 26. Copyright © 2014 Sansan, Inc. All rights reserved.
テストタイプの選択
25
インストゥルメンテーションテスト
を選択
- 27. Copyright © 2014 Sansan, Inc. All rights reserved.
アプリ本体とテストの apk を選択
26
app-debug.apk
app-debug-androidTest.apk
- 28. Copyright © 2014 Sansan, Inc. All rights reserved.
ディメンションを選択して開始
27
機種 API レベル
画面の向き
- 29. Copyright © 2014 Sansan, Inc. All rights reserved.
ディメンションを選択して開始
28
横展開が非常に容易!!
- 33. Copyright © 2014 Sansan, Inc. All rights reserved.
結果(個別:動画)
32
ログや動画により、
失敗しても
原因特定が容易!
← 日本語で入ってる…
※課金しないと参照できない
- 34. Copyright © 2014 Sansan, Inc. All rights reserved.
アクティビティマップも出力される
33
※Robo テストだけかも?
- 35. Copyright © 2014 Sansan, Inc. All rights reserved. 34
Firebase Test Lab で
色んな実機上で
テストが行える!
- 37. Copyright © 2014 Sansan, Inc. All rights reserved. 36
Espresso &
Firebase Test Lab で
- 38. Copyright © 2014 Sansan, Inc. All rights reserved. 37
Android アプリの
UI テストが
自動化できる!