便利ツール

Appiumを使ってAndroid/iOSアプリの試験を自動化

Appiumとは

Appium(アピウム)とは、オープンソースで開発されている UI テストを自動化するフレームワークです。
「Android」「iOS」「Windows」の各プラットーフォームににおいて、
「ネイティブアプリ」「WebViewアプリ」「ハイブリッドアプリ」のテストを自動化することができます。

※ Appium のライセンスは「Apache License 2.0」です。(2022/11/12時点)

SANACHAN
今回は、この自動化ツールの環境構築、基本的な使い方をご紹介いたします。

 

環境構築と初期設定

OpenJDK

Java の実行環境が必要となるため、まずは JDK(Java Development Kit)のインストールを行います。
今回は、企業でも使用できるライセンスフリーな OpenJDK を使用します。

  1. ダウンロード
    最初に OpenJDK のページから、最新リリースをダウンロードします。
    この記事の執筆時は、v19.0.1 が最新でした。
  2. 適当なフォルダに解凍
    ダウンロードした zip ファイルを、任意の場所へ解凍します。
  3. システム環境変数の設定
    JAVA_HOMEPATH へ解凍したフォルダの設定が必要になります。
    例)JAVA_HOME=D:\jdk-19.0.1
    例)PATH=%JAVA_HOME%\bin
SANACHAN
環境変数の反映は、再起動が必要になる場合があります。

 

Android Studio

Android

Android アプリの開発環境である Android Studio をインストールします。
アプリを仮想スマートフォン上で実行するために使用します。

  1. ダウンロード
    Download Android Studio ページから最新リリースをダウンロードします。
    この記事の執筆時は、Dolphin 2021.3.1 Patch1 でした。
  2. インストール
    ダウンロード完了したら、デフォルト設定のままでインストールを完了させます。
  3. 仮想デバイスの作成
    Android Studio を起動して「More Actions」から「Virtual Device Manager」を選択します。
    今回は Pixcel 3a の Play Store 対応デバイスを作成しました。
  4. システム環境変数の設定
    仮想デバイスを作成した際にインストールしたSDKのフォルダパスを
    ANDROID_HOME として環境変数に追加します。
SANACHAN
環境変数の反映は、再起動が必要になる場合があります。

 

node.js

Appium で使用するドライバーのインストールに必要となります。

SANACHAN
Appium Desktop を使用すると不要かなと思いましたが、npm が必要となります。
  1. ダウンロード
    Download Node.js ページから、最新リリースをダウンロードします。
    この記事の執筆時は、v18.12.1 でした。
  2. インストール
    ダウンロード完了したら、デフォルト設定のままでインストールを完了させます。

 

Appium Desktop

Appium はオープンソースで開発されているため、ソースコードからインストールすることも可能ですが、
付随するパッケージ類もインストールが必要となるため手順が面倒になります。

そこで、必要なパッケージが全て入っている Appium Desktop を使用することにします。

  1. ダウンロード
    GIT Hub のリリースページから最新版をダウンロードします。
    この記事の執筆時は、v1.22.3-4 でした。
  2. インストール
    ダウンロード完了したら、デフォルト設定のままでインストールを完了させます。
  3. 設定の確認
    Appium Server GUI を起動し、Edit Configurations で現在の設定を確認します。
    先ほど設定した環境変数 ANDROID_HOMEJAVA_HOME が設定されていればOKです。

 

サンプルApps

Appium 公式が提供しているサンプルプログラムを使用します。

最新バージョンのツリーからは削除されているため、v1.x 系のツリーからダウンロードします。

SANACHAN
appium-1.x\sample-code 配下のファイル群を使用します。

 

Appiumの試験コード

先ほど Appium 公式からダウンロードした Android App は、Text Box が表示されるものです。
Text Box に入門でお馴染みの「Hello World!」を表示して、検証する試験コードを紹介します。

SANACHAN
APKのパスを指定する際は、「\」を「\\」のようにエスケースする必要があります。

 

実行方法

Web Driverの準備

先ほどの試験コード「sample.js」がある場所まで移動し、以下のコマンドを実行します。

 command
$ npm init -y
$ npm install webdriverio

 

仮想デバイスの起動

Android Studio で作成した「Pixel 3a」の仮想デバイスを起動します。

 

Appium Server GUI の起動

インストールした Appium Server GUI を起動し、Appium Server を起動します。

 

試験コードの実行

以下のコマンドで実行します。

 command
$ node sample.js

 

実行結果

 command
[HTTP]
[Instrumentation] .
[Instrumentation] Time: 5.095
[Instrumentation]
[Instrumentation] OK (1 test)
[Instrumentation] The process has exited with code 0

 

トラブルシューティング

Android SDKが見つからない

ANDROID_HOME の環境変数が正しく設定されていない可能性があります。
「C:\Users\XXXX\AppData\Local\Android\Sdk」のように設定されているか確認しましょう。

JDK/Java.exe が見つからない

JAVA_HOME または PATH の環境変数が正しく設定されていない可能性があります。
「D:\Application\jdk-19.0.1」のように JAVA_HOME が設定されているか、
また「D:\Application\jdk-19.0.1\bin」が PATH の中に含まれているか確認しましょう。

Application XXXX.apk が見つからない

sample.js に記述した opts.app の設定値(APKのパス)を確認しましょう。
Windows の場合、「\」を「\\」にエスケープしてあげる必要があります。

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-便利ツール
-, , ,