Marionette JavaScriptテスト

MarionetteはJavaScriptで記述されたWebAPIのテストをサポートしています。  これらのテストは test_で始まり.js拡張子を持つファイル名でなければなりません。

テストの実行

これらのテストはMarionette Pythonテストランナーを使用して実行します; 詳細はテストの実行を参照してください。

Test構造

すべてのMarionette JavaScript WebAPIテストは非同期です。そしてテストがfinish()を呼ぶまで完了しないでしょう。  finish()が呼ばれた時、フレームワークはテストの間に送信されたすべてのアサーションに関する情報を集めて結果をMarionetteテストドライバに報告します。  例:

// テストロジック (おそらく非同期) がここに来たら...
finish();

例については、dom/telephony/tests/marionette以下のテストを参照してください。

テストフラグ

Marionette JavaScript WebAPIテストはフラグを利用していくつかのアクションを実行をMarionetteに指示することができます。

フラグ 概要
MARIONETTE_TIMEOUT integer テストがタイムアウトまでfinish()が呼ばれるのを待てる最大秒数です。
MARIONETTE_CONTEXT string "content" か "chrome"のどちらかです; テストが実行される際のコンテキスト。  デフォルトは "content" です。

すべてのフラグはテストファイルの中でJavaScriptの変数に代入するように指定されます。  例:

MARIONETTE_TIMEOUT = 30000; // 30秒タイムアウト
MARIONETTE_CONTEXT = "chrome"; // chromeコンテキストでテストを実行する
// テストロジック (おそらく非同期) がここに来たら...
finish();

テスト関数

すべてのJavaScript WebAPIテストは利用可能な関数の数を持っています。

void is(value1, value2, message)
void isnot(value1, value2, message)
void ok(value, message)
void finish()
void log(message, level)
Array getLogs()
void waitFor(callback, test, timeout)
void runEmulatorCmd(cmd, callback)

is(value1, value2, message)

ふたつの値が等価の場合アサートします。  アサーションが失敗するとメッセージとともにテストが失敗します。

isnot(value1, value2, message)

ふたつの値が等価でない場合アサートします。  アサーションが失敗するとメッセージとともにテストが失敗します。

ok(value, message)

値がtrueの場合アサートします。  アサーションが失敗するとメッセージとともにテストが失敗します。

finish()

テストを終了します。

log(message, level)

指定したメッセージを指定したレベルで記録します。  レベルは任意の文字列desu; デフォルトは ”INFO" です。

getLogs()

すべてのログを配列にして返してログを消去します。

waitFor(callback, test, timeout)

testパラメータとして渡された関数を関数がtrueを返すまで反復的に呼び出し、その次にcallbackを呼びます。.  もしtest関数がtimeout ms以内にtrueを返さなかったら例外を投げます。  timeoutパラメータはシステムデフォルトのタイムアウト時間を使う場合は省略できます。

runEmulatorCmd(cmd, callback)

エミュレータの制御ポートに指定されたコマンド文字列を投げます。オプションのコールバックはコマンドの出力行を含む配列と共に呼び出されます。コマンドの一覧はAndroid Emulator documentationを参照してください。

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

 このページの貢献者: Uemmra3, aoitan
 最終更新者: aoitan,