このセクションでは、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 属性など)

Selenium の場合、[要素ロケーター] を [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 の 3 種類のポップアップ ダイアログ (アラート、確認、プロンプト) の 1 つが、Accept Script Dialog、Dismiss Script Dialog、または Type into Script Dialog 以外のアクションで開かれた場合、エラーがレポートされます。ただし、Selenium エンジンを使用していて、シナリオの最後のテストでポップアップが開かれた場合を除きます。

Selenium エンジンで wait アクションを実行中にポップアップ ダイアログが開かれた場合は、エラーはレポートされません。

Accept Script Dialog

Selenium のみ

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

Addselection

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

Answeronnextprompt

このアクションは 9.8 で非推奨になり、現在のエンジンでは記録されません。非推奨のアクションの詳細については「Selenium WebDriver エンジン 」を参照してください。

このアクションは、プロンプト ダイアログにテキストを追加します。このアクションは非推奨です。代わりに Accept Script Dialog、Type into Script Dialog、および Dismiss Script Dialog アクションを使用してください。

構成の注意点:

  • このアクションは、プロンプト ダイアログが表示される原因となるユーザー アクションの直前のシナリオに追加する必要があります。

Assertalert

このアクションは 9.8 で非推奨になり、現在のエンジンでは記録されません。非推奨のアクションの詳細については「Selenium WebDriver エンジン 」を参照してください。

このアクションは、アラート ダイアログ メッセージのテキストを検証します。このアクションは非推奨です。代わりに Accept Script Dialog、Type into Script Dialog、および Dismiss Script Dialog アクションを使用してください。

構成の注意点:

  • このアクションは、アラート ダイアログが表示される原因となるユーザー アクションの直後のシナリオに追加する必要があります。

Assertconfirmation

このアクションは 9.8 で非推奨になり、現在のエンジンでは記録されません。非推奨のアクションの詳細については「Selenium WebDriver エンジン 」を参照してください。

このアクションは、確認ダイアログ メッセージのテキストを検証します。このアクションは非推奨です。代わりに Accept Script Dialog、Type into Script Dialog、および Dismiss Script Dialog アクションを使用してください。

構成の注意点:

  • このアクションは、確認ダイアログが表示される原因となるユーザー アクションの直後のシナリオに追加する必要があります。

Assertprompt

このアクションは 9.8 で非推奨になり、現在のエンジンでは記録されません。非推奨のアクションの詳細については「Selenium WebDriver エンジン 」を参照してください。

このアクションは、プロンプト ダイアログ メッセージのテキストを検証します。このアクションは非推奨です。代わりに Accept Script Dialog、Type into Script Dialog、および Dismiss Script Dialog アクションを使用してください。

構成の注意点:

  • このアクションは、プロンプト ダイアログが表示される原因となるユーザー アクションの直後のシナリオに追加する必要があります。

Check

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

Choosecancelonnextconfirmation

このアクションは 9.8 で非推奨になり、現在のエンジンでは記録されません。非推奨のアクションの詳細については「Selenium WebDriver エンジン 」を参照してください。

このアクションは、確認ダイアログでキャンセル ボタンをクリックします。このアクションは非推奨です。代わりに Accept Script Dialog、Type into Script Dialog、および Dismiss Script Dialog アクションを使用してください。

構成の注意点:

  • このアクションは、確認ダイアログが表示される原因となるユーザー アクションの直前のシナリオに追加する必要があります。

Click

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

構成の注意点:

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

Close

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

Dismiss Script Dialog

Selenium のみ

このアクションは、ポップアップ ダイアログ (アラート、確認、プロンプト) に対してキャンセル ボタンをクリックするか (確認またはプロンプトの場合)、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

Selenium のみ

このアクションは、現在の 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. クリックをトリガーしたい要素に対する要素ロケーター条件を入力します。

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

Fireevent

レガシー エンジン用

このアクションは、特定のページ要素の JavaScript イベントをトリガーします。ユーザーが参照できるイベントではなく、ページのコードで定義された JavaScript イベントが対象です。

構成の注意点:

  • テキスト入力/値フィールドを使用してイベントを指定します。
  • イベントは接頭辞 "on" を省略して指定します。たとえば、onkeypressed リスナーをトリガーするには、"keypressed" と入力します。

Go Back

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

Go Foward

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

Hover

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

Keydown / Keypress / Keyup

レガシー エンジン用

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

構成の注意点:

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

Maximize Window

Selenium のみ

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

構成の注意点:

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

Mousedown / Mouseover / Mouseup

レガシー エンジン用

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

構成の注意点:

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

Navigate

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

構成の注意点:

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

New Browser

レガシー エンジンのみ

このアクションは、新しいブラウザーを開き、指定された開始 URL のページを表示します。

Other

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

Refresh

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

Removeselection

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

Right-click

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

Scroll By

Selenium のみ

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

Scroll To

Selenium のみ

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

Select

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

構成の注意点:

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

Submit

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

構成の注意点:

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

Type

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

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

(Without Focus) Legacy Only

このアクションは、特定の要素にフォーカスを移動せずに指定のテキストを入力します。

  • ブラウザーに特殊文字を送信するには、[] フィールドに直接文字を入力するか (タブ、スペース、セミコロン、追加のように、入力すると文字またはスペースが出力される場合にだけ有効です)、「入力アクションで使用可能な特殊文字のマッピング」に記載された特殊文字のマッピングを使用します。

Type into Script Dialog Selenium Only

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

構成の注意点:

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

Type Password

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

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

Type Password (フォーカスなし)

レガシー エンジンのみ

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

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

Uncheck

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

Wait

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

  • [ミリ秒] でブラウザーの待機時間を指定します。固定、パラメータライズ (データ ソースを利用可能な場合)、またはスクリプトを選択し、値を入力します。スクリプト値を入力する場合は、[スクリプト] を選択し、[スクリプトの編集] ボタンをクリックします。[スクリプトの編集] 画面で、選択したアクションで入力されるべき値を返すための スクリプト メソッドを入力します。

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

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

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


Function keys

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

These character mappings can be used with a scripted "Text Input" value such as the following script, which will type the word "test" and then send the tab key:

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


This does NOT act as a key modifier. For example, you CANNOT perform a "control-click" by sending the control character and then performing a click. Sending the character simulates a user pressing and releasing the corresponding button. 

  • No labels