Download - AWS Device FarmでAndroidのUIテストをやってみた
実際に使えるDevice• https://aws.amazon.com/jp/device-farm/device-list/• Samsung Galaxy Tab 3 10.1 (WiFi), 4.4.2
• Motorola DROID Ultra (Verizon), 4.4.4
• Samsung Galaxy S4 Active (AT&T), 4.4.2
• Samsung Galaxy S5 Active (AT&T), 4.4.2
• ASUS Nexus 7 - 2nd Gen (WiFi), 5.0
• OnePlus One, 4.4.4
• ASUS Nexus 7 - 2nd Gen (WiFi), 5.0.2
• Samsung Galaxy S4 (AT&T), 4.2.2
• Sony Xperia Z3 Compact (GSM), 4.4.4
• HTC One M8 (Sprint), 4.4.4
• LG Optimus Fuel (TracFone), 4.4
• Samsung Galaxy S5 (Verizon), 4.4.4
• HTC One M7 (AT&T), 4.4.2
• Motorola Nexus 6, 5.1
• Samsung Galaxy Note 4 (Verizon), 4.4.4
• Samsung Galaxy Note 3 (Sprint), 4.4.4
• ASUS Nexus 7 - 1st Gen (WiFi), 4.2
• Samsung Galaxy S4 (US Cellular), 4.4.2
• Motorola DROID RAZR HD (Verizon), 4.4.2
• LG Optimus L70 (MetroPCS), 4.4.2
• ASUS Nexus 7 - 1st Gen (WiFi), 4.2.2
• Samsung Galaxy Note 4 (AT&T), 4.4.4
• Samsung Nexus 10 (WiFi), 4.2.2
• ASUS Nexus 7 - 1st Gen (WiFi), 4.3
実際に使えるDevice• https://aws.amazon.com/jp/device-farm/device-list/• Samsung Galaxy Tab 3 7.0 (Sprint), 4.4.2
• Samsung Galaxy S4 (AT&T), 4.4.4
• LG Nexus 4, 4.4.3
• Amazon Kindle Fire HDX 7 (WiFi), 4.2.2
• Samsung Galaxy S3 Mini (AT&T), 4.4.2
• Samsung Galaxy S6 Edge (Verizon), 5.0.2
• Samsung Galaxy Tab 2 10.1 (WiFi), 4.1.1
• Samsung Galaxy Tab 4 7.0 Nook (WiFi), 4.4.2
• HTC One M9 (Sprint), 5.0.2
• HTC Nexus 9 (WiFi), 5.0
• LG G3 (Verizon),4.4.2
• LG G3 (Sprint),4.4.2
• Samsung Galaxy S3 (Verizon), 4.4.2
• LG G3 (AT&T), 5.0.1
• LG Optimus L90 (T-Mobile), 4.4.2
• Samsung Galaxy Tab 3 7.0 (WiFi), 4.1.2
• ASUS Nexus 7 - 2nd Gen (WiFi), 5.0.1
• Amazon Kindle Fire HD 7 (WiFi), 4.4.3
• HTC One M9 (T-Mobile), 5.0.2
• LG G4 (Verizon), 5.1
• Samsung Galaxy S4 (AT&T), 5.0.1
• LG G2 (AT&T), 4.4.2
• Motorola Moto X (Verizon), 5.0
• Samsung Galaxy Tab 3 10.1 (WiFi), 4.2.2
実際に使えるDevice• https://aws.amazon.com/jp/device-farm/device-list/• Samsung Galaxy S3 (T-Mobile), 4.3
• Samsung Galaxy S5 (T-Mobile), 4.4.2
• Samsung Galaxy S3 (Sprint), 4.3
• HTC One M8 (AT&T), 4.4.4
• Sony Xperia Z2 (GSM), 4.4.4
• ASUS Nexus 7 - 1st Gen (WiFi), 4.2.1
• Samsung Galaxy Tab 3 7.0 (WiFi), 4.4.2
• LG G Flex2 (Sprint), 5.0.1
• Motorola Moto E - 2nd Gen, 5.0.2
• Samsung Galaxy Tab 4 10.1 Nook (WiFi), 4.4.2
• Samsung Galaxy S4 (Sprint), 4.4.2
• Samsung Galaxy S4 mini (Verizon), 4.4.2
• HTC One M8 (Verizon), 4.4.2
• ASUS Nexus 7 - 1st Gen (WiFi), 4.4.2
• ASUS Nexus 7 - 2nd Gen (WiFi), 4.4.4
• Samsung Galaxy S4 (Verizon), 5.0.1
• Samsung Galaxy S4 (Verizon), 4.4.2
• Samsung Galaxy S3 (Sprint), 4.4.2
• LG G2 (Sprint), 4.2.2
• Amazon Kindle Fire HD 7 (WiFi), 4.4.2
• Amazon Fire Phone, 4.2.2
• Samsung Galaxy Light (T-Mobile), 4.2.2
• Samsung Galaxy S3 (AT&T), 4.3
• Samsung Galaxy Tab 2 10.1 (WiFi), 4.2.2
実際に使えるDevice• https://aws.amazon.com/jp/device-farm/device-list/• LG G2 (T-Mobile), 4.4.2
• Motorola DROID RAZR M (Verizon), 4.4.2
• Samsung Galaxy S4 (T-Mobile), 4.4.4
• Motorola Moto G - 2nd Gen, 5.0.2
• Samsung Galaxy Note 3 (AT&T), 4.4.2
• HTC One M8 (Verizon), 4.4.4
• Samsung Galaxy Note II (Verizon),4 .4.2
• LG Nexus 5, 4.4.2
• Samsung Galaxy Note 3 (Verizon), 4.4.4
• Motorola DROID Turbo (Verizon), 4.4.4
• LG Optimus G Pro (AT&T), 4.1.2
• Samsung Galaxy S3 LTE (T-Mobile), 4.3
• Samsung Galaxy S5 (Sprint), 4.4.4
• LG G Pad 7.0 (AT&T), 4.4.2
• Samsung Galaxy S5 (AT&T), 4.4.4
• Samsung Galaxy Note 4 (T-Mobile), 4.4.4
• Samsung Galaxy Tab 2 7.0 (WiFi), 4.2.2
• Samsung Galaxy S4 (AT&T), 4.4.2
• Sony Xperia Z3 (GSM), 4.4.4
• HTC One M8 (AT&T), 4.4.2
• Samsung Galaxy Tab 3 Lite 7.0 (WiFi), 4.2.2
• Samsung Nexus 10 (WiFi), 4.2
• Samsung Galaxy S6 (Verizon), 5.0.2
• Samsung Galaxy S4 Active (AT&T), 4.2.2
実際に使えるDevice• https://aws.amazon.com/jp/device-farm/device-list/• Samsung Galaxy S6 (Verizon), 5.0.2
• Samsung Galaxy S4 Active (AT&T), 4.2.2
• Motorola Moto G (AT&T), 4.4.4
• Samsung Galaxy Note 4 (Sprint), 4.4.4
• Samsung Galaxy S5 (AT&T), 4.4.2
• HTC One M8 (Verizon), 4.4.3
使えるテストフレームワーク• Appium Java JUnit
• Appium Java TestNG
• Calabash
• Instrumentation (JUnit, Espresso, Robotium, or any instrumentation-based tests)
• UI Automator
Appiumとは(3)• Selenium WebDriver ベース
• WebDriver をサポートしている言語とテストフレームワークならなんでも使える
• ただしDevice Farm で使える言語はJava
• テストフレームワークは JUnit またはTestNG
Appium アーキテクチャ
• AppiumはHTTP サーバーとして動作
• WebDriverコマンドでテストができる。
• Android ではUIAutomatorを使ってデバイスを操作する。
スクリーンショットが取れない
• スクリーンショットを取れるのはInstrumentationだけ
• しょうがないので標準出力にスクリーンショットをBASE64 で出力。
• ログから画像を取り出すようにした。
問題点(5)
• ブラウザが複数インストールされている端末だと、ブラウザを起動するタイミングで選択画面が表示されるので止まる。
• 選択画面をAppium がとれないので座標指定してTap しないといけない。