モバイルアプリの自動テストに興味はあるけれど、「環境構築が難しそう…」と感じていませんか。
特に開発経験がないQAエンジニアにとっては、専門用語や設定の多さに戸惑うこともあると思います。
私も最初は同じ気持ちでしたが、実際に手順を整理してみると意外とシンプルでした。
この記事では、Windows環境で Pythonを使ってAppium(アピウム)を動かす方法 を、初心者向けにわかりやすく解説します。
一度環境構築を終えてしまえば、あとはテストを実行するだけ。
つまずきやすい環境変数の設定や、よくあるエラーの対処法もあわせて紹介するので、これから始める方の助けになれば嬉しいです。
Appiumって何?
Appium(アピウム) は、スマホアプリの操作を自動化するためのテストツールです。
AndroidやiOSアプリを「人が触って操作する代わりにプログラムで操作」できるのが特徴です。
例えば:
- アプリを起動する
- ボタンをタップする
- 入力フォームに文字を入れる
- 正しく画面が切り替わるか確認する
こうした操作をAppiumに任せることで、手作業でのテストより効率的に確認ができます。
さらに、PythonやJavaといった自分の得意な言語でスクリプトを書ける点も魅力です。
前提条件
- 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
appium driver list
uiautomator2
が installed
になっていればOKです。
⑦ Pythonの準備と仮想環境
Pythonが入っているか確認します。
python --version
任意の作業フォルダで仮想環境を作成し有効化します。
python -m venv .venv
.venv\Scripts\activate
パッケージをインストールします。
pip install --upgrade pip
pip install Appium-Python-Client pytest
📌 仮想環境 とは
プロジェクトごとにライブラリを分ける仕組みのこと。
他のプロジェクトに影響を与えないための基本スキルです。
⑧ デバイスの準備(エミュレータ/実機)
- Android StudioでAVDを起動
- もしくはUSBデバッグを有効にした実機を接続
認識確認します。
adb devices
device
と表示されれば準備完了です。
⑨ 最初のPythonスクリプト(モバイルWebでテスト)
まずは端末の Chrome を起動してWebページを開くテストを試しましょう。
ChromedriverはAppiumが自動解決してくれます。
# 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を開く指定
}
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()
テスト実行
pytest -q
パスすれば、PythonからAppium経由で端末操作ができています。
📌 capabilities(キャパビリティ) とは
「どんな端末で、どんな条件でセッションを開始するか」を伝える設定。
Appium 2では appium:
プレフィックスを付けるのが必須です。
つまずきやすいポイント
Appiumが起動していない。
先に appium
を実行してサーバーを開いてください。
4723番ポートにリスナーが立っていればOKです。
SessionNotCreatedException が出る
端末が adb devices
に表示されているかを確認します。
Chromeが開かない
端末にChromeがインストールされているか確認します。
企業端末などで無効化されている場合はPlayストアから有効化してください。
まとめ
「開発経験がなくてもできた!」という達成感をぜひ体験してください。
Appiumを使ったテスト自動化は、作業効率を上げるだけでなく、QAエンジニアとしてのスキル向上にもつながります。
次回はネイティブアプリの起動や操作方法についてもご紹介できればと思います。