Testim Docs JA

Tricentis Testim ユーザー制作日本語翻訳ドキュメント

カスタム検証とアクションの追加

Testim Docs

プリセットのステップメニューに無い独自のアクションや検証を行いたい場合があります。Add custom validation ステップや Add custom action ステップを使うと、任意のパラメーターと JavaScript コードを入力するカスタムステップを作成できます。カスタムアクションは戻り値を返さずに記述し、カスタム検証は真偽値を返します。true を返すと検証は成功、false を返すと失敗になります(サンプルは後述)。

Add custom validation / Add custom action ステップの追加

検証やアクションの詳細に関わらず、手順は共通です。実際に記述するコードやパラメーターはユースケースに応じて変わります。以下に共通手順と、いくつかの例のコードとパラメーターを示します。 Add custom validation / Add custom action を追加するには:

  1. 検証を追加したい位置の (矢印記号) にカーソルを合わせます。

ステップ追加位置の矢印記号

アクションのオプションが表示されます。

アクションオプションメニュー

  1. "M"(Testim の事前定義ステップ)をクリックします。
    Predefined steps メニューが開きます。

Predefined steps メニュー

  1. Validations(または Actions)をクリックします。
    Validations(または Actions)メニューが展開されます。

Validations メニュー展開

  1. Add custom validation(または Add custom action)を選択します。

Add Step ウィンドウが表示されます。

Add Step ウィンドウ

  1. Name the new step にステップ名を入力します。
  2. このステップを共有ステップとして再利用可能にする場合は Shared step をオンのままにし(既定)、Select shared step のフォルダーを選択します。共有しない場合はオフにします。
    共有ステップについては Groups を参照してください。
  3. Create Step をクリックします。
    function エディターと右側の Properties パネルが開きます。

function エディターと Properties パネル

  1. Properties パネルの Description に、必要ならステップの説明を入力します(既定: “Run validation” / “Run action”)。
  2. ステップに必要なパラメーターを定義します。\

まず Properties パネルで + PARAMS をクリックします。次に JS parameter を追加する場合はドロップダウンを JS にして JavaScript パラメーターを入力します。最後に HTML parameter として HTML 要素を定義する場合はドロップダウンを HTML にします。ブラウザが開き、対象ページが表示されるので次を実施します:

  • AUT ウィンドウで対象要素にマウスを合わせてクリックし、要素を選択します。選択要素は PropertiesTarget Element に表示されます。選択要素の確認・置き換え・設定調整は、Editing Target Element Properties を参照してください。

追加した要素は "param" または "element" といった既定名になります(JS/HTML の種別によって異なります)。編集アイコンから分かりやすい名前に変更してください。

パラメーター名の編集

  1. 必要に応じて次を設定します:
  • When this step fails – ステップ失敗時の動作を指定します。
  • When to run step – ステップの実行条件を指定します(Conditions)。
  • Override timeout – 既定のタイムアウト(ミリ秒)を上書きします。
  1. function テキストボックスに JavaScript コードを記述します。定義したパラメーターはコードから参照できます。
  1. 左上の戻る矢印でメインのエディターに戻ります。

メインエディターへ戻る矢印

ステップが作成されます。

作成されたカスタムステップ

カスタム検証 / アクションの例

数値の検証(Custom validation)

Add custom validation を使って、アプリ内の数値を検証します。次の例では、HTML 要素の数値が 1,000 未満であることを確認します。まず文字列から非数値文字を取り除き、数値に変換しています。

数値検証のコード例

Example Code:

// Remove string chars (e.g "$") and turn the price label to a number:
var amount = Number(amountLabel.innerText.replace(/[^\-0-9\.]+/g, ''));
// Validate if the number is bigger than 1000:
if (amount > 1000) {
throw new Error('Amount should not be over 1000! Actual value: ' + amount);
} else {
return true;
}

Example Parameters:

Name Type Value
amountLabel HTML {数値を含む HTML 要素}

テキスト要素の比較(Custom validation)

2 つの要素のテキストを比較する例です。innerText が等しければパスし、異なる場合は失敗します。

テキスト比較のコード例

Example Code:

var equal = firstLabel.innerText === secondLabel.innerText;
if (!equal) {
throw new Error(
'Labels are not equal. First label: ' +
firstLabel.innerText +
' Second label: ' +
secondLabel.innerText
);
}
return equal;

Example Parameters:

Name Type Value
firstLabel HTML {テキストを含む HTML 要素}
secondLabel HTML {テキストを含む HTML 要素}

Promise による非同期検証(Custom validation)

JavaScript の Promise を使うと、一定時間(ミリ秒)後に resolve / reject するコードを記述できます。真なら resolve されステップはパス、偽なら reject され失敗になります。以下は概念説明のためのシンプルな例(パラメーターは使用しません)。(10 秒後にパスします)

Promise 検証のコード例

Example Code:

return new Promise(function (resolve, reject) {
setTimeout(function () {
if (7 === 7) {
resolve();
} else {
reject('');
}
}, 10000);
});

別サイトへの遷移(Custom action)

Add custom action を使って、テストのベース URL から Testim のホームページに遷移する例です。パラメーターは使用しません。

ページ遷移のコード例

Example Code:

window.location.href = 'https://testim.io/';

同期検証の成功/失敗例

成功例

// This validation will always succeed.
return true;
// This validation will always succeed.
return 5 === 5;

失敗例

// This validation will always fail after it times out.
return 5 === 6;
// This validation will always fail after it times out.
throw new Error('Validation failed!!!');

ステップが失敗すると、エラーは result パネルと Properties パネルに表示されます(下図)。

エラー表示の例