株式会社GENZが運営する技術ブログです。

  1. Appium
  2. 32 view

ゼロから始める!Appium + Python環境構築ガイド(Windows対応)

この記事では、AppiumとPythonを使用した自動テスト環境をWindows上でゼロから構築する手順を、丁寧に解説します。必要なツールのインストールから設定、基本的なテストケースの実行まで、初心者でも迷わない内容を想定しております。

必要なツールとバージョン

以下は今回の環境構築に使用するツールとバージョンです。バージョンが異なる場合でも大きな影響はありませんが、できる限り最新版を使用することを推奨します。

構築日: 2024年9月2日

対象OS:Windows 10
Node.js: 20.15.1
npm: 10.8.2
Java: 11.0.24
Python: 3.11.1
Android Studio: Koala | 2024.1.1 Patch 1

ステップ1:Node.js と npm のインストールと確認

1.1:インストール

A. 以下のNode.js公式サイトへ遷移し、ダウンロードしたいバージョンを指定する
Node.js — Download Node.js
 ○ Current:最新版だが、動作が不安定になる場合がある
 ○ LTS:動作安定版。明確な目的が無い場合はこちらを選択する

B. Windows用インストーラーをダウンロードする
C. ダウンロードしたmsiファイルを実行し、インストールを完了する
※Node.jsインストールと同時に、npmもダウンロードされます。
Node.jsダウンロード画面
 

1.2:バージョン確認

A. Powershellで以下を実行します。

node -v
npm -v

バージョンが表示されない場合、以下のNode.js公式サイトからインストールしてください。
Node.js — Run JavaScript Everywhere

ステップ2:Java のインストールと確認

2.1:インストール

A. 以下のJava公式サイトからJREまたはJDKをダウンロードしてインストールします。
すべてのオペレーティング・システム用のJavaダウンロード

2.2:バージョン確認

A. Powershellで以下を実行します。

java -version

表示されない場合、コントロールパネルから既存のJava関連のプログラムをアンインストールし、再インストールしてください。

ステップ3:Android Studio のインストール

3.1:インストール

A. 以下のAndroid Studio公式サイトからインストールします。
Android Studio とアプリツールのダウンロード – Android デベロッパー  |  Android Developers

3.2:SDK Managerの設定

A. Android Studioを起動し、More Actions > SDK Manager を開きます。
B. Android SDK Location に以下を指定します。
 ○ C:/Users/{ユーザー名}/AppData/Local/Android/Sdk
C. SDK Platformで使用するAndroid OSにチェックを入れ、Apply をクリックします。

3.3:仮想デバイスの作成

A. More Actions > Virtual Device Manager からデバイスを作成します。
B. デフォルト設定(Pixel、最新のAndroid OS)で構築するか、必要に応じてカスタマイズします。

ステップ4:環境変数の設定

4.1:ユーザー環境変数

A. システムのプロパティ > 詳細設定 > 環境変数へ移動します。
システムのプロパティ
 

B. ユーザー環境変数を追加
ユーザー環境変数に以下の環境変数を追加します。

ANDROID_HOME=C:/Users/{ユーザー名}/AppData/Local/Android/Sdk
JAVA_HOME=C:/Program Files/Java/{インストールしたJDKのフォルダ名}

C. システム環境変数を追加
Pathに以下を追加します

%JAVA_HOME%/bin
%ANDROID_HOME%/platform-tools
%ANDROID_HOME%/emulator

環境変数
 

D. 環境変数の反映確認
管理者権限でPowershellを起動し、以下を実行して設定を確認します。

echo %JAVA_HOME%
echo %ANDROID_HOME%
adb --version

ステップ5:Python のインストール(任意)

5.1:インストール

以下のPython公式サイトからインストールします。
Windows版Pythonのインストール: Python環境構築ガイド – python.jp

5.2:バージョン確認

A. Powershellで以下を実行します。

python -V

ステップ6:Appium のインストールと確認

6.1:インストール

B. Powershellで以下を実行します。

npm install appium --save-dev

6.2:バージョン確認

A. Powershellで以下を実行します。

npx appium -v

6.3:ドライバーのインストール

A. ドライバーのインストール 必要なドライバーを以下のコマンドでインストールします。

Android用

npx appium driver install uiautomator2

iOS用

npx appium driver install xcuitest

Chrome用

npx appium driver install chromedriver

ステップ7:Appium Doctor の実行

Appium環境を確認するためのツールを使用します。以下、Powershellでコマンドを実行します。

7.1:インストール

A. Powershellで以下を実行します。

npm install appium-doctor

7.2:Appium Doctorを実行

A. Powershellで以下を実行します。

npx appium-doctor --android

注意:toolsに関する警告は無視して問題ありません。それ以外のエラーが表示された場合は該当箇所を修正してください。

ステップ8:テストケースの実行

8.1:サンプルテストコード

以下はPythonで作成したサンプルコードです。appiumライブラリを使用してAndroidデバイス上で設定アプリの「Battery」項目をタップする動作をテストします。

import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy

# Capabilities設定
# サンプルコードから改変しておりますが、仕様変更に伴うものです
options = UiAutomator2Options()
options.platform_name = 'Android'
options.automation_name = 'UiAutomator2'
options.device_name = 'emulator-5554'
options.app_package = 'com.android.settings'
options.app_activity = '.Settings'

appium_server_url = 'http://localhost:4723'

class TestAppium(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Remote(appium_server_url, options=options)

def tearDown(self):
if self.driver:
self.driver.quit()

def test_find_battery(self):
element = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
element.click()

if __name__ == '__main__':
unittest.main()

8.2:実行手順

A. Powershellでappiumを起動します。

appium または npx appium

B. Android Studioでエミュレーターを起動するか、実機をUSBで接続します。
C. Powershellで、Pythonファイルを以下のコマンドで実行します。

python -u {pythonファイルのフルパス} または pytest {pythonファイルのフルパス}

これでPython + Appium環境の構築は完了です!複雑なテストケースにも対応して、テスト自動化を進めていきましょう。

トラブルシューティング

● Appiumサーバーが拒否される場合
以下の記事を参考に対処してください。
PowerShell のスクリプトが実行できない場合の対処方法 #Windows – Qiita

● タイムアウトエラーが発生する場合
ブラウザを閉じる、Appiumサーバーの再起動、エラーログの確認を試してください。

所感

サンプルコードをただ動かすだけの技術紹介でしたが、相当な準備と苦労が伴いました。上記のような手順を再現できるまでにたくさんの失敗・エラーを体験しましたので、本記事が、スムーズな導入の一助となれば幸いです。ここまで読んでいただきありがとうございました!

参考資料

Appium公式ドキュメント
Android Studio公式サイト
Appium Inspectorの導入方法

<過去の記事>
Amazon AWS Lambda(Pythonと関数URL)で簡単な静的Webサイトを作ってみた
「生成AIで自動化」だけでテストは十分?自動・手動の最適バランス
自動化だけがすべてじゃない?!テストプロセス効率化の最適解

採用サイトはこちら

Appiumの最近記事

  1. ゼロから始める!Appium + Python環境構築ガイド(Windows対応)