Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Basic Knowledge of Mobile Automation Testing To...

Avatar for KintoTech_Dev KintoTech_Dev
November 14, 2025
6

Basic Knowledge of Mobile Automation Testing Tool/モバイル自動化テストツールの基礎知識

Avatar for KintoTech_Dev

KintoTech_Dev

November 14, 2025
Tweet

More Decks by KintoTech_Dev

Transcript

  1. What is Appium? / Appiumとは? Open-source automation tool for testing

    mobile applications across multiple platforms 複数のプラットフォームでモバイルアプリケーションをテストするためのオープンソース自動化ツール • Cross-platform solution: Test iOS, Android, and Windows apps クロスプラットフォームソリューション:iOS、Android、 Windowsアプリをテスト • Established framework: Founded in 2012, now part of OpenJS Foundation 確立されたフレームワーク:2012年設立、現在 OpenJS Foundationの一部 • Industry standard: Used by thousands of companies worldwide 業界標準:世界中の何千もの企業で使用されている
  2. Why Choose Appium? / なぜAppiumを選ぶのか? ✓ Cross-Platform Support Write tests

    once, run on iOS, Android, and Windows 一度テストを書けば、iOS、Android、Windowsで実行可能 ✓ Multiple Languages Java, Python, JavaScript, Ruby, C#, and more Java、Python、JavaScript、Ruby、C#など対応 ✓ No App Modification Test without recompiling - unlike native tools that require code changes コード変更不要 - ネイティブツールと違い再コンパイル不要 ✓ WebDriver Standard Based on W3C standard - familiar to web testers, unlike proprietary tools W3C標準に基づく - Webテスターにとって馴染みやすい ✓ High Customizability Extensive plugin ecosystem and flexible architecture for any need 豊富なプラグインと柔軟なアーキテクチャでカスタマイズ自在 ✓ Open Source & Free No licensing costs - unlike commercial tools (e.g., Katalon, TestComplete) ライセンス費用なし - 商用ツールと比較してコスト削減
  3. Appium Architecture Workflow / Appiumアーキテクチャフロー 1. Test Scripts テストスクリプト Send

    送信 2. Client Lib クライアント HTTP 通信 3. Server サーバー API API 4. Device デバイス
  4. How Appium Works - Process Flow / Appiumの動作プロセスフロー 1. Test

    Script Sends Commands / テストスクリプトがコマンドを送信 Commands sent via WebDriver protocol WebDriverプロトコル経由でコマンドを送信 2. Appium Server Processes / Appiumサーバーが処理 Server receives and processes the commands サーバーがコマンドを受信して処理 3. Commands Translated / コマンドの変換 Converted to platform-specific format プラットフォーム固有の形式に変換 4. Execution on Device / デバイス上で実行 Native frameworks execute actions (XCUITest/UIAutomator2) ネイティブフレームワークがアクションを実行 5. Results Returned / 結果を返す Results sent back to test script for assertions アサーション用にテストスクリプトに結果を返送
  5. Setup Requirements / セットアップ要件 Core Tools / コアツール Node.js &

    npm: Required for Appium Server installation and execution Node.jsとnpm:Appiumサーバーのインストールと実行に必要 Appium Components / Appium コンポーネント Appium Server and Client Library for your programming language Appiumサーバーとプログラミング言語用のクライアントライブラリ Android Development / Android開発 Android Studio with SDK, platform tools, and emulator setup SDK、プラットフォームツール、エミュレータを含むAndroid Studio iOS Development / iOS開発 macOS Required: Xcode with command line tools (macOS only for real devices) macOS必須: 実機テストにはmacOSが必要。Xcodeとコマンドラインツール必須 Java JDK Java Development Kit required for Android automation Android自動化に必要なJava Development Kit Appium Inspector Optional but recommended for element identification and debugging オプションだが要素識別とデバッグに推奨
  6. Element Location Strategies / 要素の検索戦略 ✓ ID (Recommended / 推奨)

    Fast & stable, but requires dev team cooperation for unique IDs 高速で安定。ただし開発チームの協力が必要(ユニークID付与) ✓ Accessibility ID Cross-platform & stable, reduces maintenance. Dev team support needed クロスプラットフォームで安定。メンテナンス負荷減。開発協力必要 XPath (Not Recommended / 非推奨) Flexible but slow & fragile. High maintenance cost when UI changes 柔軟だが遅く脆弱。UI変更時のメンテナンスコスト大 Class Name / クラス名 Find by element class type 要素のクラスタイプで検索 Android UIAutomator Android-specific powerful selector Android固有の強力なセレクター iOS Predicate String iOS-specific selector method iOS固有のセレクター方法
  7. Best Practices for Appium Testing / Appiumテストのベストプラクティス Use Explicit Waits

    / 明示的な待機を使用 Wait for specific conditions rather than fixed time delays for better reliability 信頼性向上のため、固定時間遅延ではなく特定の条件を待つ Implement Page Object Model / ページオブジェクトモデルを実装 Organize code with POM pattern for better maintainability and reusability 保守性と再利用性向上のためPOMパターンでコードを整理 Optimize Element Locators / 要素ロケーターの最適化 Prefer ID and Accessibility ID over XPath for faster and more stable tests より高速で安定したテストのため、XPathよりIDとAccessibility IDを優先 Keep Tests Independent / テストの独立性を保つ Each test should run independently with proper setup and teardown 各テストは適切なセットアップとティアダウンで独立して実行すべき
  8. Live Demo / ライブデモ Device Testing 実機テスト Test Results Report

    テスト結果レポート iOS Login Test: 3 Passed / 3 Failed (6 Methods, 28.9s) iOSログインテスト:3成功 / 3失敗(6メソッド、28.9秒)
  9. Key Takeaways & Next Steps Key Takeaways • Cross-platform: Write

    once, run on iOS/Android/Windows • Cost-effective: Open source, no licensing fees • Customizable: Plugins & multiple language support • Developer-friendly: WebDriver standard, no app changes 重要ポイント • クロスプラットフォーム:一度書けばiOS/Android/Windowsで実行 • コスト効率的:オープンソース、ライセンス費用不要 • カスタマイズ可能:プラグインと複数言語サポート • 開発者フレンドリー:WebDriver標準、アプリ変更不要 Next Steps • Start with sample app and basic scenarios • Learn best practices: POM, explicit waits, ID locators • Join Appium community at appium.io 次のステップ • サンプルアプリと基本シナリオから始める • ベストプラクティスを学ぶ:POM、明示的待機、IDロケーター • appium.ioでコミュニティに参加