このガイドでは、Android Comms テストスイート(ACTS)によるテストを実行する方法について説明します。
コードの取得
最新バージョンの ACTS は、/platform/tools/test/connectivity/
の Android オープンソース プロジェクト(AOSP)Gerrit リポジトリにあります。
コードを同期する方法について詳しくは、ソースのダウンロードと Android デベロッパー Codelab をご覧ください。コードを同期する際は、main ブランチを同期します。タグ付きのビルドを同期しないでください。
ACTS をダウンロードする際は、Android リポジトリ全体を同期する必要はありません。ACTS のみを同期するには、repo init
コマンドを実行した後、次のコマンドを実行します。
repo sync platform/tools/test/connectivity
ACTS は <repo>/tools/test/connectivity/acts/
にあります。
環境のセットアップ
ACTS にセットアップに必要な依存関係があることを確認するには、次の Python 3 セットアップ ツールをインストールします。
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-main
の acts_test.zip
があること、またはソースに直接アクセスできることを前提としています。
ACTS を取得します。
ビルドが公開されています。詳細については、Android の継続的インテグレーションをご覧ください。ci.android.com のビルドから zip ファイルを取得できます。
test_suites_x86_64
ターゲットを探します。acts_test.zip
ファイルは [アーティファクト] タブにあります。この例では、acts_test.zip
が/tmp/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 Tool(flash.android.com/)を使用します。詳細については、Android Flash Tool のドキュメントをご覧ください。
SL4A のインストール(省略可、推奨)
userdebug
ビルドでデバイスを使用している場合は、SL4A を使用してデバイスのシステム特権制御を取得する方法もあります。テストで SL4A をデバイスで使用しない場合は、ACTS 構成で skip_sl4a
フラグを設定して、この機能を無効にできます。
"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]
SL4A APK を取得するには、Android 用スクリプト レイヤの手順を実行します。