このセクションでは、Web シナリオによってシミュレートされたユーザー アクションを変更する方法について説明します。

このセクションの内容:

ユーザー アクションの構成の概要

特定のシナリオ ステップによって行われたアクションを確認し修正するには、次の操作を行います。

  1. 構成したいシナリオ ステップをダブルクリックします。
  2. GUI 右側に開くコンフィギュレーション パネルで [ユーザー アクション] タブを開きます。
  3. 既存のアクション (記録中に最初にキャプチャされたもの) をレビューし 、必要に応じて実行したいアクションを指定して設定を修正します。利用可能なプリセット アクションから選択するか、ユーザー定義のアクションを指定できます。

データ ソースを使用したユーザー アクションのパラメータライズ

データ ソースを使用してユーザー アクションをパラメータライズできます。たとえば、Excel シートに格納された異なる値のセットを繰り返す入力アクションなどです。



パラメータライズ テストにデータ ソースを追加して使用する方法については「テストのパラメータライズ (データ ソース、変数、または他のテストの値を使用)」を参照してください。

ユーザー アクションに関連する要素を識別

ユーザー アクション のソースである要素は、シナリオ ステップの [アクション前のブラウザー コンテンツ] タブで青い枠線でハイライトされます。

ユーザー アクションの対象を変更

ユーザー アクションの対象を素早く変更するには、[アクション前のブラウザー コンテンツ] タブで関連する要素を右クリックし、適切な修正コマンドを選択します。

変更するユーザー アクションが特定の要素に関連付けられていない場合(たとえば、"close" または "navigate" アクション)、[ユーザー アクション] タブをクリックし、[アクション]ドロップダウンメニューから新しいアクションを選択してターゲットを変更します。

HTML の要素を検査 

ページの要素にユーザー アクションを作成、修正したら、適切な要素にアクションを追加しているかどうかを確認するために、 HTML を検査したいと思うでしょう。 

要素の HTML を確認するには、要素を右クリックし、ショートカット メニューの [<要素> 要素の検査] をクリックします。


プリセット アクションとは

一般的なユーザー アクションのほとんどは、プリセット アクションから選択してニーズに合わせてカスタマイズすることで設定できます。利用可能なプリセット アクションについて以下で説明します。

[ユーザー アクション] タブ

[ユーザー アクション] タブには、多くのプリセット ユーザー アクション用の構成設定があります。[アクション] ドロップダウン メニューからアクションを選択して  (「特殊な要素ロケーターの指定」を参照)要素ロケーター設定を構成します。

要素ロケーター設定

要素ロケーター設定によって、アクションに関連付けられた要素を指定できます。 

以下の要素ロケーター オプションを使用できます:

要素アクションが適用されるべき要素名 ("img"、"div"、"a" など) を指定します。どの要素も許可するには、フィールドに "Any" と入力します。
属性名要素を識別するための属性名 ("title"、"id"、"name" など) を指定します。この値は、次のメカニズムのうちの 1 つを使用して構成できます。
属性値

属性名フィールドで供給された属性の期待値を指定します。

  • 固定値を指定する場合、[固定] オプションを選択し、テキスト ボックスに適切な値を指定します。
  • データ ソースで定義された値を使用する場合、[パラメータライズ] オプションを選択し、使用する値を含むデータ ソース列を指定します。このオプションは、プロジェクトが最低 1 つのデータ ソースを含む場合に利用可能です。
  • カスタム メソッドの戻り値を使用する場合、[スクリプト] オプションを選択します。メソッドの作成または編集をするには [スクリプトの編集] ボタンをクリックします。ダイアログが開くので、[メソッド] ドロップダウン メニューから適切なメソッドを選択します。複数のメソッドがある場合、フォーム パネルのドロップダウン メニューから別のメソッドを選択することもできます。
インデックス

以前の基準と一致する要素を指定します。"0" を入力すると "要素"、"属性名"、"属性値" に一致する最初の要素の基準が使用されます。"1" を入力すると、2 番目に一致した要素が使用されます。

  • 固定値を指定する場合、[固定] オプションを選択し、テキスト ボックスに適切な値を指定します。
  • データ ソースで定義された値を使用する場合、[パラメータライズ] オプションを選択し、使用する値を含むデータ ソース列を指定します。このオプションは、プロジェクトが最低 1 つのデータ ソースを含む場合に利用可能です。
  • カスタム メソッドの戻り値を使用する場合、[スクリプト] オプションを選択します。メソッドの作成または編集をするには [スクリプトの編集] ボタンをクリックします。ダイアログが開くので、[メソッド] ドロップダウン メニューから適切なメソッドを選択します。複数のメソッドがある場合、フォーム パネルのドロップダウン メニューから別のメソッドを選択することもできます。

多くのアクションで [ウィンドウ名] を設定できます。アクションが発生するウィンドウの名前を指定できます。このフィールドを空にした場合、 デフォルト ウィンドウが使用されます。


特殊化した要素ロケーターの指定 (CSS、ALT 属性など)

[要素ロケーター][XPath を使用] に設定し、以下のいずれかのロケーター接頭辞に値を設定することで、特殊化した要素ロケーターを指定できます。利用可能な接頭辞は以下のとおりです。

たとえば、 CSS ロケーター tag.classA を使用するには、XPath ロケーター css=tag.classA を使用します。

ポップアップ ダイアログのエラー

以下の JavaScript のポップアップ ダイアログ (アラート、確認、プロンプト) のひとつが、Accept Script Dialog、Dismiss Script Dialog、または Type into Script Dialog 以外のアクションで開かれた場合、エラーがレポートされます。ただし、シナリオの最後のテストでポップアップが開かれた場合を除きます。

待機アクション中にポップアップ ダイアログが開いた場合、エラーは報告されません。

Accept Script Dialog

このアクションは、JavaScript の 3 種類のポップアップ ダイアログ (アラート、確認、プロンプト) のいずれかに対して [OK] ボタンをクリックします。

Addselection

このアクションは、複数選択コンボ ボックスで、1 つの項目を追加選択します。選択された最初の項目でも、2 つ目以降の項目でも構いません。複数の項目を選択するには、このアクションを複数回使用します。

Check

このアクションは、指定されたチェックボックス要素を有効/無効にします。

Click

このアクションは、指定された要素をクリックします。

構成の注意点:

Close

このアクションは、指定されたウィンドウを閉じます。

Dismiss Script Dialog

このアクションは、ポップアップ ダイアログ (アラート、確認、プロンプト) に対してキャンセル ボタンをクリックするか (確認またはプロンプトの場合)、X をクリックします (3 つのすべての種類のダイアログの場合)。

Doubleclick

このアクションは要素をダブルクリックします。

Dragdrop

このアクションは、要素を 1 つの要素から別の場所にドラッグします。

構成の注意点:

要素の移動方法を指定するには、以下の 4 つの方法があります。以下のどのインジケーターの場合でも、ドラッグされる要素からアクションが開始します。数値の単位はすべてピクセルです。4 つのオプションは以下のとおりです。

Execute JavaScript

このアクションは、現在の Web ページの文脈で指定された JavaScript を実行します。指定された JavaScript は、要素のロケーターによって定義された要素と同じフレームで実行されます。要素が定義されていない場合、JavaScript は一番上のフレームで実行されます。

このユーザー アクションを設定するには、以下の操作を行います。

  1. どの JavaScript を実行するかを指定します。テキストボックスに JavaScript をコピーまたは入力するか、JavaScript ファイルへのパスを指定します。
  2. [評価] をクリックし、スクリプトが実行されること (構文エラーがないこと) を確認します。JavaScript 構文のパース機能のエラーが [エラー メッセージ] フィールドに表示されます。
  3. パネル下部の [メソッド] ドロップダウン リストから適切な引数 (実行するスクリプトの関数) を選択します。このドロップダウン リストには、スクリプトにあるすべての関数定義が表示されます。

構成の注意点:

例 - 非表示要素のクリック:

  1. Execute JavaScript アクションに以下のコードを入力します。

    function click(element) { element.click(); }
  2. [メソッド] ドロップダウン リストから click() を選択します。



  3. クリックをトリガーしたい要素に対する要素ロケーター条件を入力します。

このコードが要素上でクリック関数を実行する点に注意してください。ほとんどの場合、クリック動作がトリガーされます。時には、これでは不十分であり、クリックをトリガーするためにさらにコードが必要になります。

Go Back

このアクションは、ブラウザーの [戻る] ボタンをクリックします。引数はありません。

Go Foward

このアクションは、ブラウザーの [進む] ボタンをクリックします。引数はありません。 

Hover

このアクションは、特定の要素上でポインタをホバーします。

Keydown / Keyup

これらのアクションは、要素に対して keydown または keyup JavaScript イベントをトリガーします。

構成の注意点:

Maximize Window

このアクションは、指定されたブラウザー ウィンドウを最大化します。

構成の注意点:

Navigate

このアクションは、ブラウザーの URL バーに URL を入力した場合と同じように、指定された URL に遷移します。

構成の注意点:

Other

カスタム アクションを追加します。 

Refresh

リフレッシュ ボタンをクリックします。

Removeselection

このアクションは、複数選択コンボ ボックスで、1 つの項目を選択解除します。Shift キーを押しながらコンボ ボックスで選択された項目をクリックする操作に相当します。  複数の項目を選択解除するには、このアクションを複数回使用します。 

Right-click

このアクションは、指定された要素を右クリックします。

Scroll By

このアクションは、x および y 軸で指定されたピクセル分だけ、Web アプリケーションをスクロールします。負の値は、「左スクロール」(x 軸の場合) および「上スクロール」(y 軸の場合) を意味します。 

Scroll To

このアクションは、指定されたピクセルの位置 (x および y 軸) に Web アプリケーションをスクロールします。

Select

このアクションは、単一選択コンボ ボックスで、1 つの項目を選択します。項目がすでに選択されている場合、選択項目が変更されます。

構成の注意点:

Submit

このアクションは、フォームまたはフォーム内の要素リモート サーバーにサブミットします。

構成の注意点:

Type

このアクションは、特定の要素に指定のテキストを入力します。

Type into Script Dialog

このアクションは、プロンプト ダイアログにテキストを入力します。

構成の注意点:

Type Password

このアクションは、特定の要素に指定のテキストを入力します。フィールドに表示されるテキストはマスクされ、格納時に暗号化されます。

Uncheck

このアクションは、オンになっているチェックボックスをオフにします。

Wait

このアクションは、次のステップへ進む前に、ブラウザーを指定したミリ秒数待機させます。

入力アクションで使用可能な特殊文字のマッピング

以下の特殊文字マッピングを使用して、入力アクションで特殊文字を指定できます。

NULL                \uE000
CANCEL              \uE001
HELP                \uE002
BACK_SPACE          \uE003
TAB                 \uE004
CLEAR               \uE005
RETURN              \uE006
ENTER               \uE007
SHIFT               \uE008
CONTROL             \uE009
ALT                 \uE00A
PAUSE               \uE00B
ESCAPE              \uE00C
SPACE               \uE00D
PAGE_UP             \uE00E
PAGE_DOWN           \uE00F
END                 \uE010
HOME                \uE011
LEFT                \uE012
UP                  \uE013
RIGHT               \uE014
DOWN                \uE015
INSERT              \uE016
DELETE              \uE017
SEMICOLON           \uE018
EQUALS              \uE019


数値パッド キー

NUMPAD0             \uE01A
NUMPAD1             \uE01B
NUMPAD2             \uE01C
NUMPAD3             \uE01D
NUMPAD4             \uE01E
NUMPAD5             \uE01F
NUMPAD6             \uE020
NUMPAD7             \uE021
NUMPAD8             \uE022
NUMPAD9             \uE023
MULTIPLY            \uE024
ADD                 \uE025
SEPARATOR           \uE026
SUBTRACT            \uE027
DECIMAL             \uE028
DIVIDE              \uE029


ファンクション キー

F1                   \uE031
F2                   \uE032
F3                   \uE033
F4                   \uE034
F5                   \uE035
F6                   \uE036
F7                   \uE037
F8                   \uE038
F9                   \uE039
F10                  \uE03A
F11                  \uE03B
F12                  \uE03C

META                 \uE03D

ZENKAKU_HANKAKU      \uE040

これらの文字マッピングは、次のスクリプトのように、スクリプトで作成されたテキスト入力に使用できます。次のスクリプトは、"test" という単語を入力した後、タブ キーを送信します。

def typeTestThenTab() { 	return "test\uE004"; }


文字マッピングは、キー修飾としては動作しません。たとえば、コントロール文字を送信した後にクリックを実行することで、「コントロール キーを押しながらクリック」を行うことはできません。文字の送信は、ユーザーがキーを押してから放す動作をシミュレートします。