0

HTML 応答に次のテキストがあります。

<input type="hidden" name="test" value="testValue">

上記の入力タグから値を抽出する必要があります。
正規表現と xpath エクストラクタの両方を試しましたが、どちらもうまくいきません:

  • 正規表現パターン

    input\s*type="hidden"\s*name="test"\s*value="(.+)"\s*>
    
  • xpath クエリ

    //input[@name="test"]/@value
    

上記の xpath は、 Xpath Assertion Listener でエラーを返し.. "No node matched"ます。

いろいろ試した結果、xpath は として使用した場合にのみ機能するという結論に達しました//input[@name]

現時点では、実際の名前を追加しようとしていますが、エラーが発生します.. "No node matched"

上記の問題を解決する方法を教えてください。

4

2 に答える 2

2

私の以前の回答を見てください:

https://stackoverflow.com/a/11452267/169277

あなたに関連する部分はステップ3です:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Element;

String html = prev.getResponseDataAsString(); // get response from your sampler
Document doc = Jsoup.parse(html);
Element inputElement = doc.select("input[name=test]").first();
String inputValue = inputElement.attr("value");
vars.put("inputTextValue", inputValue);

アップデート

したがって、私が作成した Html Extractor と呼ばれる jMeter ポスト プロセッサのコードに煩わされることはありません。github の URL は次のとおりです。

https://github.com/c0mrade/Html-Extractor

于 2012-07-13T09:19:33.227 に答える
0

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

xpath クエリは問題ないようです。上記のオプションを確認して、もう一度お試しください。

于 2012-07-13T09:45:46.357 に答える