モバイルアプリの自動テストに興味はあるけれど、「環境構築が難しそう…」と感じていませんか。
特に開発経験がないQAエンジニアにとっては、専門用語や設定の多さに戸惑うこともあると思います。
私も最初は同じ気持ちでしたが、実際に手順を整理してみると意外とシンプルでした。
この記事では、Windows環境で Python を使って Appium(アピウム)を動かす方法を、初心者向けにわかりやすく解説します。
一度環境構築を終えてしまえば、あとはテストを実行するだけ。
さらに、私が工夫した「Appium環境起動をワンクリックで自動化する方法」も紹介します。
環境構築に不安がある方も、効率的にテストを進めたい方も、ぜひ参考にしてください。
Appiumって何?
Appium(アピウム) は、スマホアプリの操作を自動化するためのテストツールです。
AndroidやiOSアプリを「人が触って操作する代わりにプログラムで操作」できるのが特徴です。
例えば:
- アプリを起動する
- ボタンをタップする
- 入力フォームに文字を入れる
- 正しく画面が切り替わるか確認する
こうした操作をAppiumに任せることで、手作業でのテストより効率的に確認ができます。
前提条件
- Pythonがインストール済み
- Windows PCでAndroid端末を操作することを前提
MacとiPhone/iPadの操作についてはこちらの記事では不可となりますので予めご了承ください。
大まかな流れ
Appiumを使ったテストを始めるまでの全体像を先に押さえておきましょう。
- Node.jsをインストール
→ Appiumを動かすための基盤となるエンジン。 - Android Studioをインストール
→ Android SDK(開発に必要な部品)やエミュレータをまとめて導入。 - 環境変数を設定
→ OSにSDKやJavaの場所を教える設定。 - Appiumをインストール
→ npmコマンドで導入。 - Appiumを起動して確認
→appium
コマンドでサーバーが立ち上がることを確認。 - Appiumドライバ(uiautomator2)を追加
→ Android操作のためのドライバ。 - Python環境を整える
→ 仮想環境を作成し、Appium-Python-Clientを導入。 - 端末を準備(実機 or エミュレータ)
→adb devices
で認識確認。 - 最初のPythonスクリプトを実行
→ Chromeを開いてWebサイトにアクセスするテストを作成。
① Node.jsのインストール
- 公式サイトからLTS(安定版)を選びます。
👉 Node.js ダウンロードページ
「Windows Installer(.msi)」をクリックしてダウンロード。 - 案内に従ってインストール
- 「Tools for Native Modules」のチェックはONでOK
② Android Studioのインストール
- 公式サイトからダウンロード
👉 Android Studio ダウンロード - インストール時に必ずチェックするもの
- Android SDK
- SDK Platform
- Android Virtual Device
- インストール後は SDKパスをメモ
例:C:\Android\Sdk
③ 環境変数の設定
環境変数を正しく設定しないと、コマンドが動作しません。
- JAVA_HOME
例:C:\Program Files\Java\jdk-24
→ Path に%JAVA_HOME%\bin
を追加 - ANDROID_HOME
例:C:\Android\Sdk
→ Path に以下を追加
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\emulator
%ANDROID_HOME%\cmdline-tools\latest\bin
📌 設定方法
スタートメニュー →「環境変数」で検索 → システム環境変数から設定
④ Appiumのインストール
管理者権限でコマンドプロンプトを開き、以下を実行します。
npm install -g appium
成功すると下記のように表示されます。
added 390 packages in 13s
⑤ Appiumの起動確認
以下を実行します。
appium
正常に起動したら下記メッセージが表示されます。
[Appium] Welcome to Appium v2.x.x
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
起動中はウィンドウを閉じず、別のターミナルで操作します。
⑥ AppiumのAndroidドライバをインストール(Appium 2系)
Appium 2系では、各プラットフォームごとにドライバを追加で入れます。
Androidの場合は uiautomator2 をインストールします。
appium driver install uiautomator2
インストールが完了したら下記コマンドで確認します。uiautomator2
が installed
になっていればOKです。
appium driver list
⑦ Pythonの準備と仮想環境
まずはプロジェクトのルートフォルダへ移動します。
cd XXX
Pythonが入っているか確認しましょう。
python --version
プロジェクトのルートフォルダってどこ?
下記のようなフォルダ構成にした場合 “test_project” がプロジェクトのルートフォルダになります。
test_project/ ← ここ!
│
├─ modules/
│ ├─ __init__.py
│ ├─ xx.py
│ └─ yy.py
│
└─ scripts/
├─ test1.py
└─ test2.py
フォルダ構成については下記記事も参考にしてみてください。
プロジェクトのルートフォルダに仮想環境を作成します。
python -m venv .venv
仮想環境を有効化します。
.venv\Scripts\activate
プロンプが(.venv)に切り替わります。
以降のpipコマンドは(.venv)のもので使用してください。
パッケージ管理ツールのpipを最新版に入れ替えます。
python -m pip install --upgrade pip
コマンド実行前後で “python -m pip install –version” でバージョンを確認するとアップデートできたことが確認できます。
最後にPythonからAppiumサーバーへ接続してAndroidをWebDriverで操作するためのクライアントライブラリをインストールします。
pip install appium-python-client selenium
📌 そもそも仮想環境とは?
プロジェクトごとにライブラリを分ける仕組みのこと。
⑧ デバイスの準備(エミュレータ/実機)
- Android StudioでAVDを起動
- もしくはUSBデバッグを有効にした実機を接続
認識確認します。
adb devices
device
と表示されれば準備完了です。
⑨ 最初のPythonスクリプト(モバイルWebでテスト)
まずは端末の Chrome を起動してWebページを開くテストを試しましょう。
自動DLを許可するため、Appiumサーバーは次のように起動してください。
appium server --allow-insecure chromedriver_autodownload
# test_open_web.py
from appium import webdriver
from appium.options.android import UiAutomator2Options
caps = {
"platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:deviceName": "Android Emulator", # 実機なら任意の名前でOK
"browserName": "Chrome" # モバイルWebを開く指定
<strong> </strong>"appium:chromedriverAutodownload": True # ChromeDriverを自動ダウンロード
}
options = UiAutomator2Options().load_capabilities(caps)
driver = webdriver.Remote("http://127.0.0.1:4723", options=options)
try:
driver.get("https://example.com")
assert "Example" in driver.title
finally:
driver.quit()
Chromeが開かない場合は端末にChromeがインストールされているか確認しましょう。
アプリが無効化されている場合はPlayストアから有効化してください。
Appiumの環境起動を自動化するバッチファイル作成すると便利
Appium を使って Android アプリの自動テストをするとき、毎回以下の操作が必要でした。
- Appiumサーバーの起動
- プロジェクトフォルダに移動して仮想環境を有効化
これを忘れたり手間に感じることが多かったため
1クリックで自動化するためにバッチファイルを作成しました。
Windows では バッチファイル(.bat) を使うことで、複数のコマンドをまとめて実行できます。
以下の内容で appium_start_and_env.bat
を作成し、プロジェクトのルートフォルダに置きます。
:: appium_start_and_env.bat
:: ダブルクリックでAppiumサーバーと仮想環境を起動するバッチ
:: --- Appiumサーバー起動 ---
start cmd /k "appium"
:: --- テスト用環境のウィンドウ ---
start cmd /k ".venv\Scripts\activate"
運用方法
- このバッチファイルを作業フォルダに保存
- デスクトップにショートカットを作成
- ショートカットをダブルクリックすると:
- 1つ目のウィンドウ → Appiumサーバーが起動
- 2つ目のウィンドウ → 仮想環境が有効化済みで待機
今ではデスクトップのショートカットをダブルクリックするだけで準備が整い、効率が大幅に向上しました。
📌 start cmd /k
の意味
start
… 新しいウィンドウを開くcmd
… コマンドプロンプトを指定/k
… 実行後もウィンドウを閉じない
start cmd /k “appium”は「Appiumを起動して、そのままウィンドウを開いておく」という意味です。
まとめ
「開発経験がなくてもできた!」という達成感をぜひ体験してください。
Appiumを使ったテスト自動化は、作業効率を上げるだけでなく、QAエンジニアとしてのスキル向上にもつながります。
小さな工夫で毎日の効率も改善できるので、ぜひ試してみてください。