1

以下の html 応答コードから文字列 ( 201& )を抽出しようとしています。202これまでのところ、次の正規表現を試しました

punumber=(.+)

しかし、問題はpunumber、ページ上に のインスタンスが多数あり、不要なものが取得されることです。
必要な文字列は<h3 class="content-title">.

h3クラス内でのみpunumberを抽出するための正規表現を書くのを手伝ってもらえますか?

<h3 class="content-title">
<!--  change when this is completed -->
    <a href="/container/recentIssue.jsp?punumber=201">
    Title 1
    </a>
</h3>

<h3 class="content-title">
<!--  change when this is completed -->
    <a href="/container/mostRecentIssue.jsp?punumber=202">
    Title 1
    </a>                                    
</h3>
4

3 に答える 3

5

これは私のために働く:

Reference Name : test
Regexp : punumber=([^"]+?)"

Template : $1$

Match No : -1

(これはすべての値を取得します) NV_punumber

-1 を指定すると、JMeter は以下を作成します。

  • ${test_1} => 201

  • ${test_2} => 202

于 2013-01-17T21:30:39.323 に答える
2

これが私のために働く正規表現です:

punumber=(\d+)

HTML を解析している場合は、jsoup などの情報を抽出するために正規表現以外のものを使用することを検討する必要があります。

とにかく、ここにjmeterテストファイルがあり、ダミーサンプラー(正規表現ポストプロセッサを使用)が添付されており、ケースをシミュレートし、必要な結果を得るサンプラーをデバッグします。

http://pastebin.com/Uti8Pv9E

于 2013-01-17T21:32:54.653 に答える
0

この場合、XPath Extractorを構造化クエリ (タグ内のインスタンスのみからすべてのhref値を取得する) と組み合わせて、ForEach Controllerループで値を抽出することができます。punumber<h3>punumberhref

. . .
あなたの HTTP リクエスト
    XPath エクストラクタ
    Tidy = true を使用
    参照名 = punum
    XPath Query = //h3[@class="content-title"]/a[text()="Title 1"]/@href
    デフォルト値 = NOT_FOUND
ForEach コントローラー
入力変数プレフィックス = punum
出力変数名 = pnum
number = true の前に「_」を追加
    ユーザー パラメータ
    cnt = ${__counter(FALSE,)}
    正規表現エクストラクタ
    適用先 = Jmeter 変数 = pnum
    参照名 = punumber_${cnt}
    正規表現 = punumber=(\d+)
    テンプレート = $1$
    一致番号 = 1
    デフォルト値 = NOT_FOUND
    ...
. . .
  1. XPath Extractor は、タグの下hrefsにあるすべての<a>項目の値を, ,..., vars として提供します。<h3>punum_1punum_2punum_N
  2. Foreach Controller は次々とpunum_Xvar を取得し、それを として参照しpnum、それに RegEx Extractor を適用してpunumber値を取得し、抽出された値をpunumber_1, punumber_2,...として保存しますpunumber_N(ユーザー パラメータで定義され、各ステップでインクリメントされるカウンタを使用)。

注: ここでは XPath Extractor を使用して HTML (XML ではない) 応答を解析するため、 [ Use Tidy (tolerant parser) ] オプションが ( XPath Extractor のコントロール パネルで) チェックされていることを確認してください。

ここで利用可能な同じテストプラン:http://db.tt/dnACZtGL(私は彼の答えから@antのものを使用しました、彼に感謝します)。

于 2013-01-18T16:40:54.800 に答える