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

このセクションの内容:

抽出について

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 ツールを追加できます。 

文字列として 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