TestComplete - 技術情報

 

技術情報の目次ページに戻る

Appium を使用したモバイルテスト (iOS)

 

※ TestComplete Mobile テスト モジュールが必要です。

 

■ 概要

このページでは、mac にインストールした Appium を使用して、iOS のテストを実行する手順を紹介します。

この方法は Cloud-compatible と呼ばれ、従来の方法 (Legacy mobile support) と比べて以下の違いがあります。

Cloud-compatible Legacy mobile support

長所

  • TestComplete を実行する端末にモバイルデバイスを物理的に接続する必要がありません。
  • XCUITest と UIAutomator2 ドライバに対応したアプリケーションのテストを作成し、実行することができます。
  • safari など標準アプリの操作が可能です。

長所

  • TestComplete の NameMapping 機能が使用可能です。
  • テストするモバイルデバイスの切り替えが容易です。

短所

  • テストを実行するデバイスを管理するために Appium サーバーが必要です。ローカルのサーバーを設定するか、サードパーティーのプロバイダーが提供するサーバーを使用する必要があります。後者の場合、使用料が発生する可能性があります。
  • オブジェクトのマッピングには対応していません。
  • アプリケーション上では、基本的なユーザーアクションしかシミュレートできません。

短所

  • TestComplete を実行する端末に物理的に接続されたデバイスとエミュレーターでのみテスト可能です。
  • ipa ファイルの instrument が必須です。これはヘルパーライブラリを ipa ファイルに埋め込む操作になります。この操作には開発者証明書やプロビジョニング プロファイルが必要です。

 

Appium を使用しない従来の方法は、プロジェクトのプロパティにある Mobile Devices にて Legacy mobile support を有効にすると利用可能です。

 

■ 環境の準備

  1. Homebrew のインストール

    下記ページを開き、インストールの下にあるコマンドを macOS のターミナルで実行してインストールします。

    https://brew.sh/index_ja

  2. Carthage のインストール

    下記コマンドを macOS のターミナルで実行してインストールします。

    brew install carthage
  3. Node.js のインストール

    下記コマンドを macOS のターミナルで実行してインストールします。

    brew install node
  4. Java のインストール

    下記ページから JDK のインストーラーをダウンロードして実行します。

    https://www.oracle.com/java/technologies/downloads/

    インストール後、ターミナルで以下のコマンドを実行すると JDK のインストールフォルダのパスが表示されるので、コピーします。

    /usr/libexec/java_home -- v

    コピーしたパスで環境変数を指定します。ホームディレクトリにある.bash_profileファイルをテキストエディターで開き、以下の行を追加します。

    ファイルが無い場合はホームディレクトリに作成してください。

    export JAVA_HOME="copied-path-to-JDK-directory"
    export PATH=$JAVA_HOME/bin:$PATH
  5. Appium のインストール

    Node.js をインストールして npm からインストールするか、Appium Desktop をインストールして使用することが可能です。このドキュメントでは、下記ページよりダウンロードできる Appium Desktop を使用します。

    https://github.com/appium/appium-desktop/releases

  6. Xcode および Xcode command-line tools のインストール

    App Store から Xcode をインストールします。

    インストール後、ターミナルで以下のコマンドを実行します。

    xcode-select –install
    sudo xcode-select --switch /Applications/Xcode.app
  7. WebDriverAgent のビルドとインストール

    アプリケーション フォルダにて Appium.app を右クリックし、[パッケージの内容を表示] を選択するとフォルダとして開けますので、以下のフォルダへ移動します。

    /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
    

    移動先のフォルダにある WebDriverAgent.xcodeproj を Xcode で開き、各ターゲットの Signing & Capabilities にて使用する証明書の設定を行い、ビルド可能な状態であることを確認します。

  8. ios-deploy のインストール

    下記コマンドを macOS のターミナルで実行してインストールします。

    brew install ios-deploy

    インストール後、接続している iOS 端末の UDID を以下のコマンドで確認可能です。

    ios-deploy -c

 

■ テストの実行

mac にて Appium を起動し、Start Server ボタンをクリックして待機状態にします。

次に Windows マシンにて TestComplete を起動し、プロジェクト作成後にツールバー右端の [Show Mobile Screen] ボタンをクリックします。ボタンが存在しない場合は [Add or Remove Buttons] メニューから追加してください。

 

開かれた画面で Local Appium を選択し、接続先の URL、テストするアプリケーションの位置、接続するモバイルデバイスの情報を入力します。

下の画像は mac に USB 接続した iPhone への接続例になります。

 

Server URL には appium を実行している mac の IP アドレスを指定してください。

Application Path にはテストするアプリケーションの ipa ファイルを指定しますが、アプリケーションが既にインストールされている場合は空欄で問題ありません。

deviceName には端末の名前を、udid には使用するデバイスの UDID を指定してください。

その他使用できるパラメーターの詳細は、こちらをご参照ください。

iOSシミュレーターを使用する場合は以下のように指定します。

{
    "platformName": "iOS",
    "platformVersion": "14.3",
    "deviceName": "iPhone 12 Pro",
    "browserName": "safari",
    "automationName": "XCUITest"
}

 

入力後 OK をクリックすると、指定したモバイルデバイスもしくはシミュレーターに接続し、必要コンポーネントのインストールが行われます。

インストール終了後、iOS の画面が Mobile Screen へ表示されますので、この画面を使用してテストの作成を行ってください。

 

Record 時は Mobile Screen 上でマウスを操作して記録を行います。モバイルデバイスやシミュレーター画面での操作は記録されません。

また、Appium を使用したテストでは、いくつかの制限が確認されています。影響の大きいものが以下になります。

 

詳細や他の手順はヘルプよりご確認いただけます。

接続手順および制限事項: https://support.smartbear.com/testcomplete/docs/app-testing/mobile/device-cloud/index.html

Appium のセットアップ: https://support.smartbear.com/testcomplete/docs/app-testing/mobile/device-cloud/configure-appium/ios-on-mac.html

Legacy mobile support との違い: https://support.smartbear.com/testcomplete/docs/app-testing/mobile/index.html

※ Google Chrome で開き、右クリックのコンテキストメニューの「日本語に翻訳(T)」 機能をご使用いただくと、機械翻訳された内容でご覧いただけます。

(投稿日: 2021/10/14)

 

ページトップへ