iOSモバイルデバイスとの連携
概要
Eggplant FunctionalはiOSモバイルデバイスの詳細なテストをサポートしています。EggplantのiOSモバイルデバイス接続を使用して、Eggplant Functionalを実行しているマシンに直接接続された物理的なiOSモバイルデバイスをテストできます。さらに、Sauce Labsにホストされているクラウド上のiOSモバイルデバイスもテストできます。
このセクションでは、Eggplant Functionalを実行しているシステムに直接接続されている物理的なモバイルデバイスのテストについて説明します。クラウド上のiOSモバイルデバイスでの作業の詳細については、Sauce Labsのリアルデバイスと仮想ブラウザへの接続を参照してください。
EggplantのClassic iOSゲートウェイのユーザー向け
以前EggplantのClassic iOSゲートウェイを使用したことがある場合、新しいiOSモバイルデバイス接続に関連するいくつかのコンセプトがわかるかもしれません。ただし、新しいiOSモバイルデバイス接続にスムーズに移行するために知っておくべきいくつかの重要な違いがあります。そのようなユーザーである場合、このセクションを読むことをお勧めします。Classic iOSゲートウェイを使用したことがない場合、このセクションをスキップして開始前にに進むことができます。
これらは、Classic iOSゲートウェイから移行する場合に知っておく必要がある重要な動作の違いです。違いは以下の通りです(新しいiOSモバイルデバイス接続の動作については開始前にで読むことができます):
- 明示的に開発者証明書、プロビジョニングプロファイル、および開発者ディスクを提供する必要があります。新しいiOSモバイルデバイス接続は、これらの項目をXCodeまたはMacキーチェーンから取得することはできません。
- プロビジョニングプロファイル内で、
com.testplant.*
のワイルドカードApp IDの代わりに、com.*
のワイルドカードApp IDを使用する必要があります。 - 新しいiOSモバイルデバイス接続を使用すると、WindowsとLinuxシステム上のiOSデバイスに接続することができるようになります。ただし、iOSデバイスをサポートするようにWindowsとLinuxシステムに追加のソフトウェアをインストールする必要があります(iTunesまたは
usbmuxd
のインストール (WindowsまたはLinuxのみ)を参照してください)。
Classic iOSゲートウェイはMacシステムからの接続のみをサポートしていましたが、新しいiOSモバイルデバイス接続は、Eggplant Functionalによってサポートされているすべてのプラットフォームで動作するように設計されています。そのため、Eggplant Functionalが実行されているマシンにXCodeがインストールされているとは限りません。したがって、Classic 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が実行されているシステムをデバイスが信頼するように設定する必要があります(そしてその逆も同様です)。この操作は、モバイルデバイスをシステムに初めて接続するときに一度だけ行う必要があります。