2017-03-03 8 views
0

HTMLページからjmeterを使用して条件に基づいてJSON値を抽出します。HTMLページからJmeterを使用して条件に基づいてJSON値を抽出します

<!doctype html> 
var list_data_obj = [{ 
    "list": [ 
    { 
     "field1": "123", 
     "field2": "xyz" 
    }, 
    { 
     "field1": "456", 
     "field2": "abc" 
    }, 
    { 
     "field1": "789", 
     "field2": "asdf" 
    } 
    ], 
     "other1": "qwerty", 
     "other2": "asdfgh" 
}] 
</html> 

次のようにJSONパスエクストラクタを試してみましたが、NULLが返されました。

$.list[?(@.field2 == 'abc')].field1 

おかげ

答えて

0

あなたは応答データが有効なJSONをでないとしてJSONパス抽出を使用することはできませんが、それゆえ、あなたがRegular Expression Extractorを使用する必要がありますHTMLとJavaScriptの組み合わせのように見えます代わりに。

関連する正規表現は、次のようになります。

"field1": "(.+?)",\s.*"field2": "abc" 

JMeter Regular Expression Extractor

参考文献:

0

重要なのは、最初に正規表現を使用して有効なjsonを抽出し、次に前に抽出したjsonでjsonパス抽出を適用することです。

あなたがこれを行うに2段階の抽出を実行できます。"list": ([^^]+}\])、グループ$1$で正規表現抽出を行うことによって、

  • 最初のページからJSONを抽出し、
  • その後、JSONの抽出を行いますJMeter variableを選択して抽出された変数にjsonパス$.list[?(@.field2 == 'abc')].field1を適用します。

便利なリソース:

+0

別のユーザーが、ここで同じソリューションを選択しました:http://stackoverflow.com/questions/39238561/jmeter-json-parse –

+0

どのようにすることができます2番目のステップを実行しますか? json ExtractorをregExを適用した同じHTTPリクエストで使用すると、JSON抽出プログラムはNULLを返します。 – Yugal

+0

json抽出プログラムは、前の正規表現抽出プログラムから抽出したJMeter変数に適用する必要があります。それを連鎖させる唯一の方法です。 –

関連する問題