XPCShell

by 1 contributor:

XPCShellのテストはGecko XPCOM APIのヘッドレステストです。あなたはB2G上でXPCShellのテストを実行することができます; この記事の中でどのように実行するか書かれています。現在、これらは主にエミュレータ上でテストされており、しかしデバイス上でもうまく実行される理屈です。

注意: この記事の$B2G_HOMEはクローンしたB2Gリポジトリを指します。

必須要件

  • テスト対象をテストするためにB2Gをビルドする必要があります (参照: Firefox OS のビルドとインストール)
  • いくつかのPythonパッケージ、virtualenvかそれ以外をインストールする必要があります:
    pip install marionette_client
  • requirements.txtファイルもまた利便性のために取り込むべきです:
    wget people.mozilla.com/~ahalberstadt/runxpcshell-requirements.txt
    pip install -r runxpcshell-requirements.txt
    
  • adbをパスの通った場所に置くか--adbpathで指定 (Linux上では$B2G_HOME/out/host/linux-x86/bin/adbで見つかるでしょう) されているか確認します
  • Busyboxのローカルコピーを持っていること (これは厳密には必要ではないがセットアップ時の要求を軽減する)

テストを実行する

以下のターミナルコマンドの中から一つを使ってxpcshellテストを実行することができます:

emulatorを使う場合:

cd $B2G_HOME/objdir-gecko
make package-tests
cd dist/test-package-stage/xpcshell
python runtestsb2g.py --b2gpath $B2G_HOME --adbpath $ADB_PATH --emulator arm --use-device-libs --manifest <path_to_xpcshell_manifest> --testing-modules-dir <path_to_testing_modules_dir> --busybox <path_to_busybox_binary>

実機を使う場合:

cd $B2G_HOME/objdir-gecko
make package-tests
cd dist/test-package-stage/xpcshell
python runtestsb2g.py --b2gpath $B2G_HOME --adbpath $ADB_PATH --use-device-libs --manifest <path_to_xpcshell_manifest> --testing-modules-dir <path_to_testing_modules_dir>

通常のデスクトップ用のxpcshellテストのように--total-chunks and --this-chunksオプションを加えることもできます:

python runtestsb2g.py --help

サポートする引数をすべてリストします。

runtestsb2g.pyを起動したあと、テストランナーがエミュレータを起動する (エミュレータ上でテストを実行する場合) かデバイスを再起動する (デバイス上でテストを実行する場合) でしょう、そしてテストを実行開始します。なぜならばエミュレータは遅く、テストプロファイルをプッシュし、B2Gを再起動する必要があり、テストは開始に数分かかります。

テスト終了時、エミュレータはシャットダウンします。実機の場合再起動します。

busyboxの手動インストール

デバイス上でxpcshellテストを実行するときは--busyboxはいりません。そのようなテスト実行のセットアップはとても時間がかかります。幸いにもテストを実行する前に手動でインストールできます。手動インストールの例はhttps://github.com/mozilla/Negatus/blob/master/setup-tools.shをご覧ください。

エミュレータをダウンロードしてxpcshellテストの実行

もし違うコンフィグ (otoroのような) でB2Gをビルドしてエミュレータ上でテストを実行したいなら、あなた自身がエミュレータをビルドすることなくテストを実行することができます。  runreftestb2g.py--b2gpath /path/to/unpacked/emulatorの代わりに--b2gpath $B2G_HOME引数を置き換えた上記と同じ命令を使って、最新のtrunkのarmエミュレータをダウンロードします。

ドキュメントのタグと貢献者

Contributors to this page: aoitan
最終更新者: aoitan,
サイドバーを隠す