「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Apache Jmeter]]
-[[戻る>Jmeterによる可変値の追跡]]

* 目次 [#k2bd44fd]
#contents

*概要 [#oc989010]
Jmeterでは、フィルタや抽出などで[[正規表現]]を使用することが多い。

*[[正規表現]] [#fbd66d0e]
Perl5互換の[[正規表現]]を使用できる模様(なお、.NET Frameworkの[[正規表現]]もPerl5互換)。

**フィルタ [#m0538af2]
-".*" は、任意の0文字以上の文字列を表すメタ文字列。
-必要に応じて "\" でエスケープする。

***ホスト名 [#v2805831]
ホスト名は "local\.com:80/.*" などと指定する。

***拡張子 [#uf7e8dc7]
拡張子は ".*\.html" などと指定する。

**抽出 [#t7251991]
-[[抽出系の後処理>Jmeter用語#j6af55f2]]中の「正規表現抽出」を使用して抽出を行う。

***テンプレートから [#z38d8c84]
-以下は、「正規表現抽出」固有の設定項目(共通敵な設定項目は[[コチラ>Jmeterによる可変値の追跡#m866efad]])

*** [#k2a2aef5]
-[[テンプレート>#l575760e]] / [[一致番号>#wfec0cee]]への指定が解り難いが、既定値は以下でOK。
--[[テンプレート>#l575760e]] : "$1$"
--[[一致番号>#wfec0cee]] : "1"

***[[正規表現]] [#e2544b23]
-"(.+?)" は、任意の1文字以上の文字列を抽出するメタ文字列。
-"\s+?" は、1文字以上のスペースやタブなどの空白文字の最短マッチのメタ文字列。
-必要に応じて "\" でエスケープする。

-例
--空白を含まない。
---HTML
 <input type="text" name="xxxx" value="yyyy">
---[[正規表現]]
 name="xxxx" value="(.+?)"

--Innerテキストなど、空白を含む場合。
---HTML
 <XXXX name="xxxx">
  <YYYY>yyyy</YYYY>
 </XXXX>
---[[正規表現]]
 <XXXX name="xxxx">\s+?<YYYY>(.+?)</YYYY>

***テンプレート [#l575760e]
マッチする文字列グループが複数ある場合、
-[[参照名>Jmeterによる可変値の追跡#e11c6433]]で、抽出する部分を$n$で指定する。
-n部分を数値で指定する。先頭が1となる。
-$0$は、式全体が一致するものを表す。

***一致番号 [#wfec0cee]
-マッチする文字列グループが1つの場合になる場合、省略可能。
-マッチする文字列グループが複数になる場合、以下のように記入する。

--"1" 指定~
正数指定、n番目のマッチを選択。

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]~
テンプレートの値

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_g~
マッチした文字列グループ数

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_gn~
マッチした文字列グループ値(n = 0,1,2)

--"0" 指定~
ランダムに一致を選択する。

--"-1" 指定~
負数指定、ForEachコントローラと一緒に使用。

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]~
常にデフォルト値に設定

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_matchNr~
見つかった一致の数。

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_n~
テンプレートによって生成された文字列(n = 1,2,3)

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_n_gm~
m = 0,1,2 - 一致するグループn

---[[参照名>Jmeterによる可変値の追跡#e11c6433]]_gn~
設定されていません

***初期値 [#d5308c1d]
デバッグを容易にするため、"not-provided" などの文字列を入力しておくと良い。

*参考 [#u89c8b7d]
-Apache JMeter - User's Manual: Component Reference~
18.8 Post-Processors >Regular Expression Extractor~
http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

-JMeter簡易リファレンス > 後処理 > 正規表現抽出~
http://sy5.sakura.ne.jp/jmeter/ref/postprocessors/regularexpressionextractor.html

-JMeterの正規表現の個人的な謎 - ソフト開発お仕事メモ~
http://d.hatena.ne.jp/sekom/20110212/p1

-レスポンスを次のリクエストに活用できる「正規表現抽出」 - JMeterAtoZ~
http://naoberry.com/jmeter/regex/

-サルにもわかる正規表現入門~
http://www.mnet.ne.jp/~nakama/
**[[正規表現]] [#t80cf4a3]

----
Tags: [[:テスト]], [[:ツール類]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS