このセクションでは、他のシナリオ ステップやツールで使用するために、値を抽出して格納する方法について説明します。

このセクションの内容:

抽出について

Browser Contents Viewer ツールは、ブラウザーから記録された各シナリオ ステップに自動的に追加されます。これらの要素からデータを「抽出」して格納できます。そして抽出した値を追加のツール (フォーム フィールドのデータ投入やデータの検証のためのインスタンスのためのツール) で使用できます。 

値の格納

レンダリングされたページで表現される値を格納するには、Browser Contents Viewer のツール コンフィギュレーション パネル (ツールのノードをダブルクリックして開く) または [アクション後のブラウザー コンテンツ] タブ (抽出のみ) で次の設定を行います。

  1. 検証または格納したい値のページ要素を右クリックします (たとえばリンクを右クリックします)。そしてショートカット メニューから [<element> 要素から値を抽出] を選択します。
  2. 開いたウィザードで、[プロパティ名] ボックスで適切な要素が選択されていることを確認します。
  3. 抽出する値にズームインしたい場合は、ウィザードの [部分的な値の分離] ページを入力します。全体の文字列の検証や格納をしたい場合、このページは無視します。
    • プロパティ値の一部だけを、検証したりデータ ソースへ送信したりしたい場合があります。このような場合には、[テキストの切れ目を使い、値を部分的に分離] チェックボックスをオンにすることで、使用するプロパティ値を部分的に分離できます。そして、入力した値の境界となる [左辺テキスト][右辺テキスト] を入力します。プレビュー ペインは、入力した境界値に基づいて、どんな値が使用されるかを表示します。たとえば、プロパティ値が "Click here to log in” であるとします。
      • “Click” を分離する場合、[左辺テキスト] は空にし、[右辺テキスト] には “ here” (空白を含む) を入力します。
      • “here” を分離する場合、[左辺テキスト] に “Click “ を入力し、[右辺テキスト] には “ to” を入力します (それぞれ、空白を含む) 。
      • “in” を分離する場合、[左辺テキスト] に“log “ (空白を含む) を入力し、[右辺テキスト] は空にします。

    4.  データ ソースに選択したプロパティの値を送信する場合 (そうすることで、その値は後で他のシナリオやツールで使用できる)、次の操作を行います。

    1. [データ バンクに値を抽出] を選択します。
    2. この値を後で参照する [列名] を入力します (たとえば、後続のシナリオ ステップやその他のツールなどで参照します)。
      シナリオ ステップを実行すると、ページからプロパティ値が抽出され、指定の名前で列中の一時データ ソースに格納されます。シナリオの後半部分がこの列名を参照すると、一時データ ソースに格納された値が使用されます。必要であれば、プロパティ値の検証とデータ ソースへの送信を同時に行うことができます。

     5.  [終了] をクリックします。

シナリオを実行したときに、値が検証されて格納されます。

検証や抽出をしたい値が見つからない場合 

Browser Contents Viewer ツールが、抽出や検証をしたい値を表示しない場合 (関連するシナリオ ステップが失敗した場合や、レンダリングされたページで対象アイテムが不可視の場合 (title など)、手動で Browser Validation ツールや Browser Data Bank ツールを追加できます。 

動的属性値を取り扱う場合

検証で動的属性値を扱う 1 つの方法は、XPath 文字列を部分的に使用することです。XPath を使用するには、Browser Validation ツールの [要素の指定] セクションで [XPath の使用] を選択し、適切な XPath を指定します。XPath の使用に関する詳細は、「XPath リファレンス」を参照してください。XPath の文字列の一部の使用方法についての詳細は、「動的属性値の操作: XPath を使用した部分文字列の一致」を参照してください。

文字列として HTML コンテンツにアクセスする

文字列として HTML コンテンツにアクセスしたい場合、(たとえば、テキスト文書を処理していて、ブラウザーがどの HTML マークアップを追加するかを予測する必要を避けたい場合)、Extension ツールを Browser Playback ツールのブラウザー コンテンツに追加できます。追加するには、 Browser Playback ツールを右クリックし、[出力の追加] > [ブラウザー コンテンツ (描画された HTML)] > [Extension Tool] を選択します。次に、適切なスクリプトを使用するように Extension Tool を設定します。

input.getHTML() を使用すると、ブラウザー ウィンドウやフレームに HTML を表示できます。com.parasoft.api.BrowserContentsInput については Javadoc を参照してください。Javadoc は [Parasoft] メニューの [ヘルプ] > [Extensibility API] から参照できます。

たとえば、以下は RFC のタイトルを検索する JavaScript です。

// input: com.parasoft.api.BrowserContentsInput. 
// context: com.parasoft.api.ExtensionToolContext. 
function validateRfcText(input, context) {
  var html = input.getHTML();
  var rfc = context.getValue("ds", "rfc");
  // Extract the numeric part of the RFC.
  // From "RFC5280" extract "5280".
  // From search("\\d") returns the index of the first digit in rfc.   
  // See a reference on JavaScript regular expressions.
  // Alternatively hard-code rfc.substring(3),
  var rfcNumber = rfc.substring(rfc.search("\\d"));
  var title = "Request for Comments: " + rfcNumber;
  if (html.indexOf(title) < 0) {
    context.report("HTML does not contain title: " + title);
  }
}

Browser Data Bank は Browser Playback Tool に連結されます。このツールは、抽出された値を格納します。抽出された値は、パラメータライズされた値として、後続のシナリオ ステップや他のツールでの入力値に使用できます。格納された値を後から修正する場合は、このツールの設定を変更することによって修正可能です。

抽出のソースとなる要素は、 Browser Contents Viewer と Browser Data Bank の [アクション後のブラウザー コンテンツ] タブで灰色の太線でハイライトされます。 

テキストの抽出

Browser Data Bank にテキストを抽出するには、 次の操作を行います。

  1. 抽出したいテキストを選択します。

  2. 選択した箇所を右クリックし、[選択されたテキストをデータ バンクに抽出] を選択します。

  3. ダイアログが開くので、目的の抽出設定が表示されていることを確認します。

  4. [終了] をクリックします。
  • No labels