【要約】Appium × Remote Test Kit でスマホアプリ試験を自動化してみた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
手動試験における以下の課題を解決すべきであった。
- ・1端末あたり約80分を要する膨大な作業時間。
- ・作業者による操作ミスや証跡取得漏れ。
- ・端末やOSの増加に伴う、運用工数の指数関数的な増大。
- ・操作手順の再現性が低く、品質担保が困難な構造。
// Approach
「端末操作」「試験ロジック」「証跡管理」を分離した設計を採用した。
1.差分の隔離: OSや端末サイズによる差異を、専用クラス(コピペ用、キーボード用等)に集約。
2.要素指定の徹底: 座標指定を避け、
By.ACCESSIBILITY_ID 等の要素IDによる指定をルール化。3.明示的待機の導入:
WebDriverWait を用い、要素の「操作可能状態」を待機する設計を構築。4.構成の柔軟性: Appiumサーバの接続先を切り替え、仮想端末と実機双方に対応。
// Result
- ・試験時間を1端末あたり80分から30分へ大幅短縮。
- ・証跡管理の自動化により、移動やリネームの工数を排除。
- ・作業者依存のミスを削減し、試験の標準化を実現。
- ・今後は、証跡の自動比較や画面差分検出への拡張を予定。
Senior Engineer Insight
> 設計思想が極めて実戦的だ。単なる自動化スクリプトではなく、OS差分をクラスで隔離する「基盤化」に重きを置いている。座標指定を排除し、要素IDに依存する判断もスケーラビリティの観点で正しい。ただし、要素IDの付与は開発側の工数となる。RTKの不安定性も考慮が必要だ。大規模運用には、CI/CD連携とID管理の仕組みが不可欠となるだろう。