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

このセクションの内容:

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

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

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

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

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



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

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

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

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

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

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

HTML の要素を検査 

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

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


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

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

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

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

要素ロケーター設定

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

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

  • [XPath の使用] を選択し、識別子として使用する XPath を入力します。
  • [スクリプトの使用] を選択し、ユーザー アクションを定義するスクリプトを入力します。
  • [要素のプロパティを使用] を選択し、要素をアクションに関連付けるための一連のプロパティを指定します。構成できる設定は、以下の表のとおりです:

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

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

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

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

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

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


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

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

  • alt=<alt attribute value>
  • class=<class attribute value>
  • css=<css-style locator>
  • dom=<dom-style locator>
  • id=<id attribute value>
  • identifier=<id or name attribute value>
  • link=<link text>
  • name=<name attribute value>
  • xpath=<xpath to element>

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

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

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

  • alert
  • confirm
  • prompt

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

Accept Script Dialog

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

Addselection

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

Check

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

Click

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

構成の注意点:

  • [修飾キー] は、クリック中に Alt キー、Ctrl キー、または Shift キーを押す動作を模倣する場合に指定します。

Close

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

Dismiss Script Dialog

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

Doubleclick

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

Dragdrop

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

構成の注意点:

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

  • Move to target element: <some locator, like //div[@id="example"]> ソース要素の左上隅をクリックし、ターゲット要素の左上隅にドラッグします。
  • Start at offset and move by delta: offsetX,offsetY|deltaX,deltaY ソース要素の左上隅から offsetX、offsetY の位置をクリックし、deltaX、deltaY の分だけ移動します。デルタに負の値を指定すると、上および左方向に移動します。

  • Move by delta: deltaX,deltaY 要素の中央をクリックし、deltaX、deltaY の分だけ移動します。デルタに負の値を指定すると、上および左方向に移動します。デルタに負の値を指定すると、上および左方向に移動します。
  • Move to offset within element: <some locator>|offsetX,offsetY ソース要素の左上隅をクリックし、ターゲット要素の左上隅から offsetX,offsetY 移動した位置にドラッグします。オフセット値に 0,0 を指定すると、ターゲット要素のちょうど左上隅になり、"Move to target element" と同じように機能します。負の値を指定すると、ターゲット要素の左上隅から上および左方向に移動します。

Execute JavaScript

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

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

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

構成の注意点:

  • 要素ロケーター セクションで指定されるロケーターは、指定の関数に第一引数として渡されます。たとえば、
    function userFunction(locator) {
       locator.click();
    } があるものとします。
    要素ロケーターで指定された要素は、ユーザーが自由に使用できるよう、このスクリプトで locator パラメーターとして関数に渡されます。

  • 0 個または 1 個の引数が期待されます。クリックすると、ダイアログに「このスクリプトは、0 または 1 つの引数を予期しています。」のようなメッセージが表示されるはずです。引数が 1 個の場合、その引数は、このユーザー アクションの要素ロケーターによって指定された要素です。

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

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

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



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

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

Go Back

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

Go Foward

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

Hover

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

Keydown / Keyup

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

構成の注意点:

  • 要素ロケーターを使用して要素を指定します。
  • キー ロケーターを使用して押下するキーを指定します。

Maximize Window

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

構成の注意点:

  • Mac 上の Chrome では、Maximize Window アクションは、「フルスクリーン」ではなく、「最適サイズ」として解釈されるため、ブラウザーは垂直方向にだけ最大化されます。これは、ユーザーが緑色の + 印ボタンをクリックしてウィンドウを拡大した場合と同じ動作です。

Navigate

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

構成の注意点:

  • [URL] フィールドで、固定パラメータライズ (データ ソースが利用可能な場合)、スクリプトを選択し、URL を入力します。スクリプト URL を入力する場合は、[スクリプト] を選択し、[スクリプトの編集] ボタンをクリックします。[スクリプトの編集] 画面で、選択したアクションで遷移されるべき URL を返すためのスクリプト メソッドを入力します。

Other

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

Refresh

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

Removeselection

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

Right-click

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

Scroll By

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

Scroll To

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

Select

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

構成の注意点:

  • 選択する項目は、値 (コードで定義された値) またはラベル (コードに定義され、UI に表示される値) で指定できます。

Submit

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

構成の注意点:

  • 要素セレクターを使用してサブミットするフォームを指定します (ページに複数のフォームがある場合など)。

Type

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

  • [値] を使って入力するテキストを指定します。固定パラメータライズ (データ ソースを利用可能な場合)、またはスクリプトを選択し、値を入力します。スクリプト値を入力する場合は、[スクリプト] を選択し、[スクリプトの編集] ボタンをクリックします。[スクリプトの編集] 画面で、選択したアクションで入力されるべき値を返すための スクリプト メソッドを入力します。
  • ブラウザーに特殊文字を送信するには、[値] フィールドに直接文字を入力するか (タブ、スペース、セミコロン、追加のように、入力すると文字またはスペースが出力される場合にだけ有効です)、「Special Character Mappings for Type Actions」に記載された特殊文字のマッピングを使用します。

Type into Script Dialog

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

構成の注意点:

  • このアクションは、プロンプト ダイアログを開くアクションの直後に追加し、直後に Accept Script Dialog アクション (指定されたテキストをサブミットします) を置く必要があります。
  • ブラウザーに特殊文字を送信するには、[値] フィールドに直接文字を入力するか (タブ、スペース、セミコロン、追加のように、入力すると文字またはスペースが出力される場合にだけ有効です)、「Special Character Mappings for Type Actions」に記載された特殊文字のマッピングを使用します。

Type Password

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

  • [値] を使って入力するテキストを指定します。固定パラメータライズ (データ ソースを利用可能な場合)、またはスクリプトを選択し、値を入力します。スクリプト値を入力する場合は、[スクリプト] を選択し、[スクリプトの編集] ボタンをクリックします。[スクリプトの編集] 画面で、選択したアクションで入力されるべき値を返すための スクリプト メソッドを入力します。
  • ブラウザーに特殊文字を送信するには、[値] フィールドに直接文字を入力するか (タブ、スペース、セミコロン、追加のように、入力すると文字またはスペースが出力される場合にだけ有効です)、「Special Character Mappings for Type Actions」に記載された特殊文字のマッピングを使用します。

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"; }


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

  • No labels