iOS および Android デバイスで Appium をセットアップする方法

公開: 2024-03-26

包括的なガイドを使用して、iOS および Android デバイスで Appium をセットアップする方法を学びましょう。 今すぐモバイル テスト自動化を始めましょう!

特定の e コマース モバイル アプリでは、モバイル アプリケーション方法論を使用して堅牢なモバイル アプリ テスト戦略を実装することの重要性も認識しています。 これらのアプリは、互換性を確保するためにさまざまなモバイル戦略を利用して包括的なテストを受けています。

組織や企業が、さまざまなプラットフォーム間でアクセスできるスケーラブルなアプリを開発するために Appium を選択することが増え、モバイル アプリケーションに対する需要の増大に対応するにつれて、Appium の重要性が高まっていることが明らかになりました。 この変化は、ユーザーの期待に応えるだけでなく、効果的かつ一貫して機能するモバイル アプリケーションを作成するという重要な必要性によって推進されています。

この記事では、iOS および Android デバイスで Appium をセットアップし、オンライン デバイス ファームでアプリをテストする方法を学びます。

モバイルテストとは何ですか?

前者は、画面、アプリケーション、カメラなどのハードウェア コンポーネントとソフトウェア機能を精査することにより、デバイスの品質を検証することに重点を置いています。 対照的に、後者はソフトウェア アプリケーションの一貫性と機能を確保することだけに重点を置き、ハードウェア、ソフトウェア、および接続に関してデバイスとのシームレスな互換性を保証します。

モバイル アプリケーションには主に 3 つのタイプがあり、それぞれに異なる特徴があります。

ネイティブモバイルアプリケーション:

これらのアプリケーションは、Android、iOS、Windows SDK などの特定のプラットフォーム向けに細心の注意を払って作成されています。 Apple デバイス専用に調整された iOS アプリに代表されるように、指定されたデバイスまたはプラットフォーム上でシームレスに動作するように細かく調整されています。 注目すべき例には、Snapchat、Google マップ、Skype などがあります。

モバイル Web アプリケーション:

モバイル ブラウザー専用に開発されたこれらのアプリケーションは、JavaScript、CSS、HTML などの Web ベースの言語を使用して設計されています。 その際立った特徴は、ユーザーによるインストールやアップデートが不要なことであり、コスト効率の高いソリューションとなります。 注目すべき例には、AliExpress、OLX、Flipkart などがあります。

ハイブリッド モバイル アプリケーション:

ネイティブ アプリケーションと Web アプリケーションの機能を融合したハイブリッド アプリは、ブラウザ経由で実行しながらネイティブ デバイスにインストールできる柔軟性を提供します。

Appium をセットアップするための前提条件

Appium を使用してモバイル アプリケーションのテストを自動化する旅に乗り出すには、いくつかの重要なソフトウェアおよびハードウェア コンポーネントに注意する必要があります。

  • Appium デスクトップ/サーバーをダウンロードしてインストールします。
  • JDK (Java 開発キット) をインストールします。
  • Java をダウンロードしてインストールし、環境変数を構成します。
  • Android SDK (ソフトウェア開発キット) をダウンロードしてセットアップします。
  • エクリプスをインストールします。
  • ノードJSをインストールします。
  • Java クライアント jar と Selenium jar を取得します。
  • APK の入手 – モバイル オートメーション アプリケーション。
  • モバイルデバイスを準備します。
  • モバイル デバイス用の USB ドライバーをインストールします。

Android での Appium の仕組み

Android デバイスでの Appium テストには、UIAutomator テスト ケースを利用してアプリケーションの機能と信頼性を検証することが含まれます。 これにより、アプリケーションは実際のユーザー条件で期待どおりに動作し、最適な一貫性が維持されます。

Android アプリの自動化に Appium を活用すると、いくつかの利点が生まれます。 反復的なアクションを自動化することでテストのワークフローを簡素化し、QA テスターがより複雑なテスト シナリオを詳しく調査できるようにします。 自動テストは頻繁に実行できるため、テスト範囲が拡大し、回帰が迅速に検出されます。

クラウドで実際の Android デバイスを利用する: 利点

このブログで Appium を使用した Android アプリの自動化の詳細を掘り下げる前に、実デバイス クラウド プロバイダーの概念を理解することが重要です。 これらのプロバイダーは、クラウド インフラストラクチャ内で Appium 自動化を提供し、クラウド上でホストされている正規のデバイス、さまざまなプラットフォーム、ブラウザーへのアクセスを提供します。

LambdaTest などの AI を活用したテスト オーケストレーションおよび実行プラットフォームは、AI 機能を活用し、3,000 を超える実際のデバイスとオペレーティング システムで構成される大規模なオンライン デバイス ファームを提供します。 このインフラストラクチャにより、Appium グリッドを介したスケーラブルなクロスデバイス テストが可能になります。 さらに、LambdaTest のようなプラットフォームを使用すると、オンライン Android エミュレーターでの Android アプリの自動化が容易になります。

Android デバイスで Appium テストを実行するためのベスト プラクティス

  • 必要なコンポーネント (Appium Server、Appium Jar ファイル、および Java) をダウンロードします。
  • Java のインストールと環境変数の構成。
  • 開発者モードを有効にして Android デバイス用の Appium テスト スクリプトを作成します。
  • 実際の Android デバイスでテストを実行し、最適な使いやすさを保証します。

Appium を使用して iOS アプリのテストを自動化する利点

Appium は目覚ましい進歩を遂げており、モバイル アプリケーションで人気の自動テスト ツールとして急速に台頭しています。 約 35% の組織が、無料/オープンソースの機能テスト ツールよりも Appium を好みます。

iOS Appium 自動テストの重要な利点をいくつか見てみましょう。 iOS 自動化の代替手段はありますが、Appium はそのユーザーフレンドリーな性質と広範なコミュニティ サポートにより際立っています。

クロスプラットフォーム機能:

Appium は本質的に「クロスプラットフォーム」であり、iOS、Android、Windows などの複数のプラットフォームで同じテストを実行できます。 API を使用する際にコードを変更する必要がないため、テスト スクリプトのモジュール化に貢献します。

余分な依存関係の削除:

Appium バージョン 1.15.0 以降、Appium は appium-ios-device 経由で実際のデバイスと通信するため、追加の依存関係が不要になります。 appium-xcuitest-driver に関する公式ドキュメントは、依存関係を解決するための貴重なリソースとして機能します。

主要な iOS バージョンのサポート:

Appium は、主要な iOS バージョンのサポートを提供します。 Apple XCUITest は iOS バージョン 9.3 以降をサポートしますが、Apple の UI Automator は 9.3 より前のバージョンをサポートします。 この XCUITest テスト チュートリアルを通じて、XCUITest についてさらに詳しく知ることができます。

アプリの再コンパイルは不要:

アプリの再コンパイルが必要な一部のフレームワークとは異なり、Appium はアプリケーション コードを変更することなく動作します。 これは、コード内を変更したり、XCode でプロジェクトを開いたりする必要がないことを意味します。 .app ファイルを使用するだけでアプリケーションを自動化できます。

手間のかからない実行:

Appium は、実際のデバイス、クラウド テスト、シミュレータやエミュレータでのテストを容易にすることで、手間のかからない実行をサポートします。 この柔軟性により、さまざまなプラットフォーム間で自動化スイートをシームレスに実行できます。

iOS での Appium の仕組み

Android の対応物と同様に、Appium は iOS デバイス上のユーザー インターフェイス要素をテストするために Apple UIAutomation API を採用しています。 これには、Apple の UIAutomation AP を介してボタンやテキスト ラベルなどの UI 要素を利用して、iOS アプリケーションと対話するために JSON ファイルを送信することによる RESTful サービスの使用が含まれます。

Appium を使用して iOS アプリの自動化を開始する

Appium を使用して iOS アプリのテストを実施するための基本的な手順の概要を以下に示します。

Appium と依存関係をインストールします。

前のセクションで説明したインストール手順に従って、Appium がデバイスにインストールされていることを確認してください。

iOS環境を準備します。

Appium iOS 自動化は macOS でのみ利用できる Xcode に依存しているため、iOS アプリを自動化するには macOS コンピューターが不可欠です。 Xcode コマンド ライン ツールがインストールされていることを確認します。

iOS シミュレーターまたはデバイス:

iOS アプリの自動化は、iOS シミュレーターまたは物理 iOS デバイスのいずれかで実行できます。 目的のデバイスまたはシミュレーターにアクセスできることを確認します。

Appium サーバーを起動します。

Appium サーバーを起動し、Appium 設定でサーバーのアドレスとポートを指定します。

必要な機能を定義します。

Appium テスト スクリプトで、iOS テストに関連する必要な機能を明確にします。 これらの機能には、プラットフォーム名、プラットフォームのバージョン、デバイス名、アプリのパスなどの詳細が含まれます。

自動化フレームワークを設定します。

Appium は、iOS テストの自動化フレームワークとして XCUITest を利用します。 このフレームワークの使用を示すには、automationName 機能を「XCUITest」に設定します。

iOS アプリのインストール:

アプリの機能を使用して、自動化に割り当てられたアプリを指定します。

Appium ドライバーを初期化します。

テスト スクリプトで、Appium サーバーの URL と定義された必要な機能を指定して、iOS 用の Appium ドライバーをインスタンス化します。

テストケースを作成する:

XPath やアクセシビリティ ID などのロケーターを使用して、要素を見つけることができます。

テスト ケースを実行します。

Appium テスト スクリプトを実行して自動化を実行します。 このスクリプトは、選択したデバイスまたはシミュレーター上で iOS アプリを起動し、指定されたアクションを実行します。

テスト結果を分析する:

Appium は、テスト結果の分析に役立つ包括的なテスト ログとレポートを提供します。 これにより、テスト ケースの問題や失敗を特定できます。

デバッグと調整:

テスト ケースが失敗した場合、または改善が必要な場合は、スクリプトを繰り返しデバッグして調整します。 このプロセスにより、自動テストの信頼性と有効性が保証されます。

制限事項

Windows アプリはサポートされません:

Appium は主に Android と iOS に対応しているため、Windows アプリのテストには適していません。

iOS シミュレータの制限付き機能:

Appium を使用すると、特定の高度な iOS シミュレーター機能へのアクセスが制限される場合があります。

ネイティブアプリの制限:

生体認証などのネイティブ アプリの特定の機能をテストすると、Appium フレームワーク内で課題が生じる可能性があります。

iOS デバイスで Appium テストを実行するためのベスト プラクティス

  • テスト前にデバイスに Appium サーバーをインストールして起動します。
  • 必要な機能を構成するために iOS デバイスに関する必要な情報を収集します。
  • iOS デバイス用の Appium テスト シナリオをスクリプト化するための新しいプロジェクトを Eclipse で作成します。
  • 正確なデバッグのために Appium Desktop Inspector を使用して iOS UI を検査します。
  • 実際の iOS デバイスでテストを実行して、予想される結果を取得します。

結論

Appium のクロスプラットフォーム機能とユーザーフレンドリーな機能により、iOS と Android の両方のプラットフォームでモバイル アプリケーションをテストするために広く採用されています。 それでも、Appium でアプリケーションのテストを開始する前に、主要なソフトウェアおよびハードウェア コンポーネントを確立することが不可欠です。 このセットアップには、Appium サーバーの構成と、JDK、Java、SDK、およびその他の必要な要素のインストールが含まれます。 これらのコンポーネントが適切に配置されると、効率的なテストを実行できるようになります。