このセクションでは、カレンダー ウィジェットでクリックを記録する方法についてのヒントを紹介します (たとえば、旅行サイトでテキスト入力フィールドに使用されているカレンダーなど)。
このセクションの内容:
テキスト入力フィールドのデフォルトの記録動作について
デフォルトでは、 SOAtest はテキスト入力フィールド上のクリックを 1 つのステップとして記録しません。これにより、不必要なノイズを防ぎます。たとえば、ログイン フィールドにユーザー認証情報を入力すると、 2 つのステップとして記録されます。 1 つはフィールドのクリックするステップ、そして 1 つは入力するステップです。
しかしながら、このデフォルト動作がいつも望ましいとは限りません。たとえば、多くの旅行サイトは出発日と帰着日を入力するフィールドがあり、クリックするとカレンダー ウィジェットが開きます。カレンダーの日付要素をクリックすると、その日付が投入されます。これらのアクションで Web ページを記録した後、カレンダー要素へのクリック アクションは記録されています。しかし、その前のテキスト入力フィールドへのクリック アクションは記録されていません。カレンダー要素のクリック アクションは再生中に失敗します。なぜなら、カレンダーを見つけることができないからです。
テキスト入力フィールドの記録動作の修正
この動作を修正してテキスト入力フィールドへのクリックを記録するには、3 通りの方法があります。
- このタイプの テキスト入力フィールドのほとんどは、隣にカレンダー アイコンが付いています。このアイコンが付いている場合、テキスト入力フィールドをクリックする代わりにこちらをクリックします。
- シナリオを記録し、後から手動でテキスト入力フィールドをクリックするステップを追加します。
UserCustomizableOptions.js ファイルを修正します (詳細については、次の手順を参照してください)。しかし、この方法は上に述べた不必要なテストの原因となります。
UserCustomizableOptions.js 構成ファイルの修正
構成ファイルを開きます(「記録オプションのカスタマイズ」を参照)。
以下に似たコードがある箇所へ移動します:
ext.options.clickableInputTypes = [ "submit", //record click event on submit input type element "button", //record click event on button input type element "image", //record click event on image input type element "radio", //record click event on radio input type element "checkbox", //record click event on checkbox input type element "reset" //record click event on reset input type element ]
括弧 "[]" の中に 1 行追加し、以下のように "text" と入力します。
ext.options.clickableInputTypes = [ "text", //text on travelocity.com "submit", //record click event on submit input type element "button", //record click event on button input type element "image", //record click event on image input type element "radio", //record click event on radio input type element "checkbox", //record click event on checkbox input type element "reset" //record click event on reset input type element ]