FlankでE2Eテストの可能性を最大限に引き出す
Slides
Blog
Firebase Test Lab?
https://firebase.google.com/docs/test-lab
Supports:
| Spark プラン(無料) | Blaze プラン(従量制) |
無料枠 | 仮想デバイス: 10件/日 物理デバイス : 5件/日 | 仮想デバイス: 60分/日 物理デバイス : 30分/日 |
追加料金 | 利用不可(上限) | 仮想デバイス: $1/デバイス/時間 物理デバイス: $5/デバイス/時間 |
アプリのAPK+テスト用のAPKを事前に用意する:
./gradlew app:assembleDebug \ // -> app-debug-unaligned.apk� app:assembleDebugAndroidTest // -> app-debug-test-unaligned.apk
テスト実行時の制限
And here is coming Flank��そこでFlankの登場です
Flank
FlankのAndroidテスティング内部構造
どうやったらFlankが使える?
最新版のflank.jarをダウンロードしてコマンドラインから実行: �https://github.com/Flank/flank/releases/latest
Flank設定(テストを8並列で実行する場合)
gcloud:
app: ./app-debug.apk
test: ./app-debug-androidTest.apk
device:
- model: NexusLowRes
version: 28
flank:
max-test-shards: 8
Flank実行時の紹介
<- gcloud
Flank ->
Gradleでも利用可能 github.com/runningcode/fladle
Github Actionsでも利用可能 (NEW!!)
シャーディングの課題
タイムアウトによる中断の原因
Smart flank
flank:
# the amount of groups to split the test suite into� max-test-shards: 100
# the amount of time tests within a shard should take (分で)� shard-time: 120
smart-flank-gcs-path: ./last-JUnitReport.xml
10分
3分
3分
10分
3分
3分
Before:
After:
Add new features
Feature request: 使いやすいHTMLレポートが欲しい
ありがとうございました :)
もし興味があれば:
参考