設定ファイル は、テスト/スイート実行に必要なパラメーターを定義する共通 JS です。単一テスト/全テストの前後に実行されるフックで、バックエンドの準備やパラメーター定義を行えます。設定ファイルを使うと、CLI 実行時にパラメーターを各テストへ渡せます。
パラメーターのスコープ
定義したパラメーターは、単一の実行(ラン)に含まれるすべてのテストに適用されます。
設定ファイルでの定義 {#defining-parameters-in-a-configuration-file}
設定ファイル を作成し、ファイル内の beforeSuite/beforeTest 関数でスイート/テスト単位のパラメーターを定義します。以下の例では、beforeSuite と beforeTest を使って user name と password を定義します。
exports.config = { ..... .....
beforeSuite: function (suite) { console.log("beforeSuite", suite);
return { "username": "David", "password": 123 } },
beforeTest: function (test) { console.log("beforeTest", test);
return { "username": "David", "password": 123 } }
..... .....};テストレベル: overrideTestData の追加
return セクションに overrideTestData を追加すると、テスト名ごとにデータを割り当てられます。実行内でテストごとに異なる値を指定できます。 → テストごとのデータを追加するには:
- 設定ファイルを作成/編集します。
beforeSuiteの戻り値にoverrideTestDataを追加し、テスト名とデータセット(JSON)を記述します。他の設定はそのまま保持します。
beforeSuite フックの例:
beforeSuite: function () { return { overrideTestData: { "Test 1": {user: "dave", password : "123"}, "Test 2": {name: "ryan"} } }} //add comma here if there are more functions after beforeSuite同じ例で、最初のテストに 2 つのデータセットを与える場合:
beforeSuite: function () { return { overrideTestData: { "Test 1": [{user: "michelle", password : "belle"}, {user: "paul", password : "walrus"}] "Test 2": {name: "john"} } }} //add comma here if there are more functions after beforeSuite後続のデータセットで一部のデータセットパラメーターが欠けている場合、例えば 2 つ目のデータセットに password が含まれていない場合(つまり password: walrus が含まれていない場合)、Testim は 1 つ目のデータセットのパラメーターデータ(つまり belle)を使用します。
実行レベル: return で一括指定
設定フック(beforeSuite / beforeTest)の return に値を置くと、実行に含まれる全テストで同一データが使われます。 → 実行レベルで指定するには:
- 設定ファイルを作成/編集します。
beforeSuiteまたはbeforeTestのreturnにパラメーターと値を記述します。
以下は、beforeSuite フックに追加したテストデータの例です。このテストデータは、実行に含まれるすべてのテストで同一となります:
exports.config = { beforeSuite: function (suite) { console.log('beforeSuite', suite); return { username: 'David', password: 123, }; },};以下は、beforeTest フックに追加したテストデータの例です。このテストデータは、実行に含まれるすべてのテストで同一となります:
exports.config = { ..... .....
beforeTest: function (test) { console.log("beforeTest", test);
return { "username": "David", "password": 123 } }
..... .....};グローバルエクスポートパラメーター
"afterSuite" 関数では、その実行でエクスポートされたグローバルパラメーターを使用できます。
構文: suite.exportsGlobal.<param_name>
CLI での指定
設定ファイルを定義したら、Testim CLI の引数として -c に続けてファイル名を指定します。
testim -c "testimConfig.js"以降は、ステッププロパティパネルのパラメーター として各テストから参照できます。