iOSモバイルデバイスとの連携
概要
Eggplant FunctionalはiOSモバイルデバイスの詳細なテストをサポートしています。EggplantのiOSモバイルデバイス接続を使用して、Eggplant Functionalを実行しているマシンに直接接続された物理的なiOSモバイルデバ イスをテストできます。さらに、Sauce Labsにホストされているクラウド上のiOSモバイルデバイスもテストできます。
このセクションでは、Eggplant Functionalを実行しているシステムに直接接続されている物理的なモバイルデバイスのテストについて説明します。クラウド上のiOSモバイルデバイスでの作業の詳細については、Sauce Labsのリアルデバイスと仮想ブラウザへの接続を参照してください。
モバイルデバイス接続は、Eggplant Functionalを実行しているマシンに直接接続されているデバイスのみをサポートします。Eggplant Functionalと同じマシン上で共同ホストされていない共有ネットワークアドレスからデバイスをホストする必要がある場合は、EggplantのクラシックiOS Gatewayアプリケーションを使用する必要があります。アプリケーションのセットアップ方法と使用方法の詳細については、Classic iOS Gatewayアプリケーションのユーザーガイドを参照してください。
EggplantのClassic iOSゲートウェイのユーザー向け
以前にEggplantのクラシックiOSゲートウェイを使用したことがある場合は、新しいiOSモバイルデバイス接続に関連するいくつかの概念に見覚えがあるかもしれません。ただし、新しい iOS モバイル デバイス接続へのシームレスな移行を確実にするために注意すべき重要な違いがいくつかあります。あなたがそのようなユーザーの1人である場合は、このセクションを読むのに少し時間をかけてください。Classic iOS Gateway を使用したことがない場合は、このセクションをスキップして Before You Start に進むことができます。
これらは、Classic iOS Gateway から移行する場合に注意する必要がある重要な動作の違いです。違いは次のとおりです (新しい iOS モバイル デバイス接続の動作については、始める前に で読むことができます)。
- 明示的に開発者証明書、プロビジョニングプロファイル、および開発者ディスクを提供する必要があります。新しいiOSモバイルデバイス接続は、これらの項目をXCodeまたはMacキーチェーンから取得することはできません。
- プロビジョニングプロファイル内で、
com.testplant.*
のワイルドカードApp IDの代わりに、com.*
のワイルド カードApp IDを使用する必要があります。 - 新しいiOSモバイルデバイス接続を使用すると、WindowsとLinuxシステム上のiOSデバイスに接続することができるようになります。ただし、iOSデバイスをサポートするようにWindowsとLinuxシステムに追加のソフトウェアをインストールする必要があります(iTunesまたは
usbmuxd
のインストール (WindowsまたはLinuxのみ)を参照してください)。
Macシステムからの接続のみをサポートしていたClassic iOS Gatewayとは異なり、新しいiOSモバイルデバイス接続は、Eggplant Functionalがサポートするすべてのプラットフォームで機能するように設計されています。その結果、Eggplant Functionalは、Eggplant Functionalを実行しているマシンにXCodeがインストールされていると想定できません。したがって、クラシック iOS ゲートウェイと XCode の間の密結合は、新しい iOS モバイル デバイス接続ではレプリケートされません。これが、開発者証明書、プロビジョニング プロファイル、および開発者ディスクを明示的に提供する必要がある理由です。
開始する前に
開発者ディスクがあることを確認してください
iOSモバイルデバイスに接続するためには、Eggplant Functionalが開発者ディスクにアクセスできる必要があります。XcodeがインストールされているMac上でEggplant Functionalを実行している場合、開発者ディスクはXcodeのインストールの一部として提供されます。Xcode内では、Xcodeがサポートする各HWプラットフォーム(つまり、iPhone、iPadなど)に対して開発者ディスクのセットがあります。各HWプラットフォームには、そのプラットフォームでサポートされているOSの各バージョンに対応する開発者ディスクがあります。テストする予定のHWプラットフォームの開発者ディスクへのパスを知っておく必要があります。Xcodeをデフォルトの場所にインストールした場合、iPhoneの開発者ディスクへのパスは/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
となります。
WindowsまたはLinuxシステムでEggplant Functionalを実行し、iOSモバイルデバイスに接続する予定の場合は、Macシステムから適切な開発者ディスクをコピーする必要があります。開発者ディスクをコピーするには:
- 最新バージョンのXcodeがインストールされているMacシステムで、適切な開発者ディスクの場所(通常、
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
)に移動します。 - このフォルダーの内容を含むzipアーカイブを作成します。
- このzipアーカイブをWindowsまたはLinux PCにコピーして解凍します。ファイルを解凍した場所に注意してください。これは、モバイルデバイスに接続するときに必要となる開発者ディスクの場所です。
Linuxにファイルをコピーする場合、コピー後にファイルのアクセス許可を確認する必要があります。最低限、すべてのファイルとディレクトリに対して「ユーザー」がRWアクセス許可を持っていることを確認する必要があります。
あなたのプロビジョニングプロファイルと開発者証明書のコピーを取得する
iOSモバイルデバイスに接続するには、Eggplant Functionalに開発者証明書のコピーを提供し、テスト対象のモバイルデバイス上でソフトウェアを実行させるためのカスタムプロビジョニングプロファイルを作成する必要があります。カスタムプロビジョニングプロファイルは、テスト対象の特定のデバイス(またはデバイス)に開発者証明書をリンクし、com.*
のワイルドカードApp IDを持つアプリケーションがデバイス上で実行されることを許可する必要があります。
それらを取得したら、カスタムプロビジョニングプロファイルと対応する開発者証明書をEggplant Functionalを実行しているシステム上のスタンドアロンファイルとしてダウンロードして利用可能にする必要があります。これらのファイルのシステム上の場所を知り、モバイルデバイス接続を作成するときにそれらのパスを指定できる必要があります。
このドキュメントでは、iOS Developer/Testerとして、既にApple Developer Accountを持っており、プロビジョニングプロファイルと開発者証明書の概念に慣れていることを前提としています。開発者アカウントをまだ持っていない場合は、Apple Developer Program Enrollmentページの情報を参照してください。プロビジョニングプロファイルや開発者証明書の概念に慣れていない場合は、AppleのオンラインDeveloper Account Helpドキュメントを読むことをお勧めします。特にCreate Developer ID CertificatesとCreate a Development Provisioning Profileに注意してください。XCodeがインストールされているMacシステムで作業している場合、XCodeを使用して開発者証明書とプロビジョニングプロファイルを管理することもできます。詳細はXCodeのドキュメントを参照してください。
iTunesまたはusbmuxd
のインストール (WindowsまたはLinuxのみ)
WindowsまたはLinuxマシンでEggplant Functionalを実行している場合、iOSデバイスへのモバイルデバイス接続を試みる前にiTunes(Windows)またはusbmuxd
(Linux)をインストールする必要があります。
あなたのiOSモバイルデバイスのオートメーション設定
iOSモバイルデバイスでの最良のテスト自動化体験を得るためには、デバイスを適切に設定する必要があります。このセクションでは、初めてテスト自動化を実行する前にiOSモバイルデバイスで実行する必要がある設定活動について説明します。
開発者モードを有効にする
iOS 16以降を実行しているモバイルデバイスでは、Eggplant Functionalにデバイスを接続する前にデバイスで開発者モードを有効にする必要があります。開発者モードを有効にする方法の詳細については、Apple Xcodeのドキュメントであるデバイスでの開発者モードの有効化を参照してください。
信頼を確立する
iOSモバイルデバイスを初めてシステムに接続し、デバイスのロックを解除すると、デバイスが接続しているシステムを信頼するかどうかを確認するプロンプトが表示されます。Eggplantを使用してデバイスを自動化するためには、Eggplant Functionalが実行されているシステムをデバイスが信頼するように設定する必要があります(そしてその逆も同様です)。この操作は、モバイルデバイスをシステムに初めて接続するときに一度だけ行う必要があります。
iOSモバイルの一意のデバイスID (UDID) の取得
テストしたいiOSモバイルデバイスが1台だけの場合、Eggplant FunctionalはデバイスをEggplant Functionalに接続し、モバイルデバイス接続を作成するとデバイスを自動的に検出できます。自動検出は、システムに接続されているデバイスが1台だけの場合にのみ機能します。同時に複数のiOSモバイルデバイスをシステムに接続したい場合は、Eggplant Functionalが接続するデバイスを指定するためにUDIDを使用する必要があります。このセクションでは、iOSモバイルデバイスのUDIDの取得方法について説明します。
iOSの電話でUDIDを検索する方法はいくつかあります。UDIDを取得する方法はどれでも構いませんが、情報をコピーしてください。Eggplant Functionalで接続を作成するときにUDIDを指定することができます。