これは、 Android Comms Test Suite(ACTS)テストを実行する方法に関するガイドです。
コードを取得する
最新バージョンのACTSは、Android Open Source Project(AOSP)Gerritリポジトリの/platform/tools/test/connectivity/
にあります。
コードを同期する方法の詳細については、ソースとAndroid DeveloperCodelabのダウンロードを参照してください。コードを同期するときは、マスターブランチを同期します。タグ付きビルドを同期しないでください。
ACTSをダウンロードする場合、Androidリポジトリ全体を同期する必要はないことに注意してください。 ACTSのみを同期するには、 repo init
コマンドを実行した後、次のコマンドを実行します。
repo sync platform/tools/test/connectivity
ACTSは、 <repo>/tools/test/connectivity/acts/
にあります。
環境設定
ACTSにセットアップに必要な依存関係があることを確認するには、次のPython3セットアップツールをインストールします。
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo pip3 install --upgrade pip setuptools # Needed due to an on-going bug.
sudo apt-get install protobuf-compiler
ACTSのインストール
<repo>/tools/test/connectivity/acts/framework
にあるsetup.py
スクリプトは、残りの依存関係とACTS自体をインストールします。
ACTSで、またはACTSを使用して継続的に開発するには、次のコマンドを実行します。
cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
テストのみを実行する場合は、代わりに次のコマンドを実行します。
cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -
インストールの確認
セットアップ後、ターミナルでact.py
を使用できることを確認し、PythonでACTSモジュールをインポートします。例えば:
act.py -h usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]
python3 >>> from acts.controllers import android_device >>> device_list = android_device.get_all_instances()
インストールせずに実行
ユーザーは、パッケージを直接インストールせずにACTSを実行できます。実行する必要がある唯一の手順は、Pythonパスを変更して<repo>/tools/test/connectivity/acts/framework
からインポートすることです。 ACTSを実行する前に、 setup.py install_deps
を実行して、ACTSをインストールせずにACTSによって必要なすべての依存関係をインストールします。 ACTSの既存のバージョンがマシン上にある場合は、 sudo setup.py uninstall
を実行します。
ACTSを実行するには、次のいずれかのコマンドを使用します。
cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
export PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
ACTSは、 -c
および-tc
フラグを要求するメッセージを出力します。詳細については、 ACTSテストの構成を参照してください。
仮想環境でのACTSの設定
インストールをACTSの他のインストールから分離するには、仮想環境にACTSをインストールする必要があります。次の手順は、ci.android.comのaosp aosp-master
からacts_test.zip
を使用しているか、ソースに直接アクセスできることを前提としています。
ACTSを入手してください。
ビルドが公開されます。詳細については、 Android継続的インテグレーションを参照してください。 ci.android.comのビルドからzipファイルをプルできます。
test_suites_x86_64
ターゲットを探します。acts_test.zip
ファイルは[アーティファクト]タブの下にあります。この例では、/tmp/acts_test.zip
がacts_test.zip
にダウンロードされていると想定します。ソースコードにアクセスできる場合は、代わりにそれを使用できます。
マシンに
virtualenv
をインストールします。まだお持ちでない場合は、以下を使用して
virtualenv
をインストールできます。python3 -m pip install -U --user virtualenv
仮想環境を作成してアクティブ化します(この例では
/tmp/my_virtualenv
にあります)。これにより、新しいパッケージがvirtualenv
ディレクトリに確実にインストールされます。python3 -m virtualenv /tmp/my_virtualenv
source /tmp/my_virtualenv/bin/activate
ACTSをインストールします。次のコマンドを実行します。
unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
python3 setup.py install
コードに直接アクセスできる場合は、解凍をスキップできます。
cd /path/to/acts/framework
python3 setup.py install
どこからでもACTSを実行します。
act.py -c <config> ...
テストの実行が終了したら、仮想環境を終了します。
deactivate
Androidデバイスのフラッシュ(オプション)
デバイスのシステム特権制御を取得する場合は、 userdebug
ビルドを使用してデバイスをフラッシュします。
デバイスをフラッシュするには、 Androidフラッシュツール(flash.android.com/)を使用します。詳細については、 Android FlashToolのドキュメントを参照してください。
SL4Aのインストール(オプション、推奨)
userdebug
ビルドのデバイスを使用している場合は、SL4Aを使用してデバイスのシステム特権制御を取得するオプションがあります。テストでデバイスでSL4Aを使用しない場合は、ACTS構成でskip_sl4a
フラグを設定して、機能を無効にすることができます。
"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]
SL4A APKを入手するには、Android用スクリプトレイヤーの手順に従ってください。