# テストの実行
このページで学べること
Gondola CLIを使ってテストを実行する方法を学びます
# 基本的な使い方
- 現在のフォルダの全テストを共通パラメータで実行するには、以下のようにします:
- steps: コンソールに詳細ステップを出力します
- reporter: 使用するレポート生成器を選択します
注意:テストを実行する前に、コマンドnpm run compile
がルートプロジェクトフォルダーから実行されていることを確認してください。
gondola run --steps --reporter mochawesome
gondolaコマンドは、Windowsにおける%Path%、Linux/OSxにおける$Pathに追加されていないかもしれません。
その場合には、以下のように実行する必要があります。
./node_modules/.bin/gondola run --steps --reporter mochawesome
他の例についても、同様に実施してください:
./node_modules/.bin/gondola "your command line arguments here"
- 単一テストの実行
gondola run /path/to/test.js
TIP
コマンド npm run compile
を実行すると、コンパイルされたテストファイル(例:test.js
)はプロジェクトルートの built
という名前のフォルダーに配置されます。
注
同時に実行できるテストの数は、購入したエージェントの数に基づいています。
# フィルター
- ファイル名に"Basic"という文字列を含むテストを実行するには、以下のようにします。
gondola run --grep "Basic"
- タグとして"@smoke_tests"が設定されているテストを実行するには、以下のようにします。
gondola run --grep "@smoke_tests"
この例では、"Basic 1 @smoke_test"のテストが実行されます:
TestCase("Basic 1 @smoke_test", () => {
// [確認] ページタイトルがLogiGear Demo Shopであること
gondola.checkWindowExist("LogiGear Demo Shop");
});
TestCase("Basic 2", () => {
// [確認] 最高値が150であること(これは不具合)
gondola.checkText({ css: "[for='pricerange'] span" }, "150");
});
# デバッグとログ
- テストをデバッグモードで実行するには、以下のようにします。
gondola run --debug --reporter mochawesome
- 全ログを出力してテストを実行するには、以下のようにします。
gondola run --verbose --reporter mochawesome
# カスタム設定
- カスタム設定ファイルを使用したテストの実行をするには、以下のようにします:
gondola run -c my_config_file.json
gondola run --config path/to/my_config_file.json
:::ヒント注意
gondola.json
ファイルをプロジェクトのルートディレクトリの外に置いた場合、テストを並列モードで実行すると、screenshot cannot be displayed on the HTML report
エラーが表示されます。
したがって、構成ファイル(gondola.json、gondola.android.jsonなど)のみをプロジェクトルートに配置することをお勧めします。
:::
gondola.json
の設定を一部上書きして実行するには、以下のようにします:
gondola run --override '{ "helpers": {"WebDriver": {"browser": "chrome"}}}'
# 複数ブラウザにおける並行実行
同一のテストセットを複数ブラウザで実行したい場合には、以下のようにします:
# 設定
下記のように、gondola.json
にmultiple
を追加します:
{
...
"multiple": {
"regression": {
"browsers": [
"chrome",
"firefox",
"internet explorer"
]
},
"smoke": {
"grep": "@smoke_test",
"browsers": [
"chrome",
"firefox"
]
},
}
}
この例では、2つのテストスイートを定義しています:
regression
これは、すべてのテストをChrome、Firefox、Internet Explorerで実行します。
smoke
これは、@smoke_testとタグ付けされているすべてのテストをChromeとFirefoxで実行します。
# 実行
テストスイートの実行は、以下のようにします:
gondola run-multiple regression
gondola run-multiple smoke
もしくは、特定のブラウザに対して実行するには、以下のようにします:
gondola run-multiple regression:chrome
gondola run-multiple smoke:chrome regression:firefox
# テストの自動配分
# 設定
gondola.json
の multiple
セクションにおいて、chunks
オプションを指定します。
セクションが存在しない場合は、追加する必要があります:
{
...
"multiple": {
"regression": {
"chunks": 2,
"browsers": [
"chrome",
"firefox",
"internet explorer"
]
}
}
}
その後、run-multiple
を使ってテストを実行します:
gondola run-multiple regression
# 動作原理
run-multiple
が有効になっている場合、Gondolaはすべてのテストモジュールを収集し、指定された数のチャンクで並列に実行します。
"chunks": 2
を設定することにより、ランナーにすべてのテストモジュールを2
スイートで並行して実行するように指示します。
複数のブラウザがサポートされています。 複数のブラウザを渡すと、スイートの数と渡されたブラウザの数が乗算されます。
11つのテストモジュールがあるとした場合、それらは2つのスイートに分割されます。
最初のスイートには6つのテストモジュールが含まれ、2番目のスイートには5つが含まれます。
各スイートは3つのブラウザーで実行されるため、6つの並列実行があります。