# テストの実行

このページで学べること

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.jsonmultipleを追加します:

{
    ...
    "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.jsonmultiple セクションにおいて、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つの並列実行があります。

最終更新: 2020/6/30 9:25:44