« JMeter : 正規表現とForEachコントローラ | Main | JMeter : https通信のサンプリング »

2008.08.09

JMeter : XPathとForEachコントローラ

正規表現では抽出(条件付きの抽出)が難しいような場合、XPath Extractorを使用することが可能です。特にTeedaのような、XHTMLで記述されたページの場合、XPathとの相性もいい感じとなります。

XPathを組み合わせると、例えば「テーブルの中にある画像ファイルだけを抽出」するなんてことも簡単にできます。

XPath Extractorを定義する


  • Use Tidy? :チェックを入れる(この部分はレスポンスのhtmlに応じて使い分ける必要があるかと)
  • 参照名:tdimgsrc
  • XPath Query://td/img/@src ⇒ 任意の場所にあるtd要素の子要素であるimg要素内のsrc属性の値を取得

ForEachコントローラを定義する


  • Input変数名接頭辞:tdimgsrc
  • Output変数名:tdimgsrcurl
  • Add "_" before number? :チェックあり

HTTPリクエストを作成
${tdimgsrcurl}を含めたパスを構築します。imgの部分がどのように指定されているか(絶対パス/相対パス)によって、パスの指定を工夫する必要があるかもしれません。

パスの部分も実はJMeterの関数を使用することが可能で、画像のパスが../のような感じの相対パスで指定されている場合、${__javaScript('/hoge/' + vars.get("tdimagesrc").substring(3),)}をパスに登録すると、../の部分を除去して/hoge/****といった感じのパスに変換することができます。

リファレンスは、18.8.2 XPath Extractorとなります。

|

« JMeter : 正規表現とForEachコントローラ | Main | JMeter : https通信のサンプリング »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/42103892

Listed below are links to weblogs that reference JMeter : XPathとForEachコントローラ:

« JMeter : 正規表現とForEachコントローラ | Main | JMeter : https通信のサンプリング »