シナリオの記録中に記録できるクリック可能な要素をカスタマイズできます。変更するスクリプトは次のディレクトリにあります。
Chrome: <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/browsers/chrome/UserCustomizableOptions.js
Internet Explorer: <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/browsers/ie/UserCustomizableOptions.js
変数
UserCustomizableOptions.js スクリプトで定義されている次の配列変数は、記録中に使用されます。ext.options.clickableAttributes
この変数で定義された属性タイプで設定された HTML 要素に対するクリックが記録されます。たとえば、スクリプトの実行を開始するために onclick が使用されるなら、onclick はこの配列の有力な候補の 1 つです。
ext.options.clickableTags
この変数で定義された HTML タグ に対するクリックが記録されます。たとえば、Ajax Web アプリケーションでは、<span>
や <li>
などのタグをクリックすると、クライアント側で機能がトリガーされる場合があります。
ext.options.clickableInputTypes
この変数で定義されているフォーム入力タイプに対するクリックが記録されます。text
や textarea
といったタイプは、デフォルトではクリック可能であると見なされません。なぜなら、ユーザーは通常、テキストを入力するためにクリックするからです。
ext.options.structuralTags / ext.options.containerTags
これらの変数は、要素に対して記録されるユーザー アクションの範囲を制限します。ext.options.structuralTags
変数に入っている要素へのユーザー アクションは、その要素が ext.options.containerTags
変数で指定されている子要素を 1 つ以上持っている場合、記録されません (直接の子要素である場合も、直接ではない子要素の場合も)。
たとえば、通常、<div>
要素に対するクリック アクションは記録されますが、div 要素は他の要素のコンテナとして使用されます。たとえば、 <div>
要素には、他の多くの要素を含むテーブルを含めることができます。テーブルのコンテナとして使用される div に対するクリック アクションを記録したくない場合は、クリック アクションを記録しないように変数を設定できます。
ext.options.structuralTags = [ "div", "span" ]; ext.option.containerTags = [ "table", "ul" ];
ext.options.disallowedTags
この変数は、他の記録基準を満たしても、決して記録されないタグのリストを含みます。
ext.options.locatorBuildersOrder
この変数は、ロケーターを作成するために使用される順番を定義します。ロケーターは、ユーザー アクションが発生する HTML 要素を識別し、再生中にユーザー アクションを繰り返すために必要です。デフォルトの順番は、ロケーターを作成するときに要素内の視覚属性がより良好になるよう構成されています。
ext.options.locatorBuildersOrder = [ 'link', // Look for links text. e.g. link=WebKing will find <a href..>WebKing</a> 'visibleFormElementText', // Use visible text connected to form elements 'text', // Use text that appears within the element to locate the element 'id', // Use the id attribute to locate the element 'name', // Use the name attribute to locate the element 'linkXPath', // Use a relative XPath that checks for img alt text or contains a string in the link text 'attributesXPath', // Use a relative XPath that checks for various attributes in the element 'attributesXPathWithIndex', 'positionXPath' // An XPath that may be a relative or complete (no attributes are used) ];
使用されているロケーター ビルダーを確認するには、デバッグ情報を有効にします。[Parasoft] > [設定] > [ブラウザー] を選択し、[デバッグ情報を出力] オプションを有効にします。次の例では、id
ビルダーが使用されています:
Locator - /descendant::img[@id='changeing'][1]. Used id builder.
このオプションの詳細については、「ブラウザーの設定」を参照してください。
ext.options.preferredAttributesOrder
このフィールドは、ロケーター attributesXPath
および attributesXPathWithIndex
ビルダーによって使用されます (ext.options.locatorBuilders.order を参照)。呼び出されるとき、この配列は使用される優先属性を決定します。この配列で属性名を追加、削除、並び替えて、サイト上の要素に作成されるロケーターをカスタマイズできます。属性を削除すると、前述のロケーター ビルダーに使用されることを防ぎます。Web ページ上の特定の属性が動的であり、使用されるべきではない場合、その属性は削除しておく必要があります。属性を並び替えると、属性の優先順位が変更されます。'id' など、配列の最初にある属性は、最後の要素に対して優先的にロケーターに使用されます。
ext.options.displayDialogs
再生中にアラート、確認、およびプロンプト ダイアログを表示するには、この変数を true
に設定します。再生中にこれらのダイアログを表示するには、ユーザーがダイアログを閉じる必要があります。閉じるアクションは自動化できます (つまり、AutoIT スクリプトを使用)。
ext.options.xpathLibrary
この変数を使用して、Web シナリオで使用される XPath ロケーターを解決するための XPath ライブラリを指定できます。これは Internet Explorer と Chrome にのみ適用されます。このオプションには次の 3 つの値があります。
ajaxlt
: Google Ajaxlt XPath の実装を使用します: http://code.google.com/p/ajax-slt/wgxpath
: Wicked Good XPath の実装を使用します: https://github.com/google/wicked-good-xpathdefault
: デフォルトの実装を使用します (現在は、 Javascript-XPath となっています)。