7

ATLANTBH jmeter JSON PATH アサーションを使用して JSON アサーションを実行しようとしています。
ただし、以下に投稿された JSON フィードから次のフィールドを取得するための正しい式を記述できないようです。

  1. 123456789
  2. 1009
  3. いくつかのランダムなメッセージ

    {"api": {"status":"Success","callsremaining":36,"version":"x.x.x.x"}
    ,"result":{"errors":{"123456789":{"code":1009,"error":"SOME RANDOM MESSAGE"}}}
    }
    

この JMeter プラグインを使用した経験のある人はいますか? および を使用して検証
できることはわかっていますが、これらの JSON パス アサーションを使用したいと思います。regexBeanshell

あなたが提供できるどんな助けも大歓迎です。

4

1 に答える 1

3

JSONPath 式 (JSON パス アサーション コンポーネント) を使用してと の両方1009の値を簡単にアサートできるように見えますが、よくわかりません: それはノード値ではなくボード名であり、これらのコンポーネントで使用される JSONPath 実装にはノード名を取得する式がないようです。SOME RANDOM MESSAGE123456789

123456789JSON Path Extractor (同じコンポーネント コレクションから) を jmeter の標準Response_Assertionにバインドする代わりに、簡単にアサートできるとします。

  1. 2 つの JSON パス アサーションを子として、処理する json 応答を返すサンプラーに追加します。

    ここに画像の説明を入力

    ここに画像の説明を入力

    式は$.result.errors..code$.result.errors..error対応します。

  2. JSON Path Extractor を子として同じサンプラーに追加して、完全なエラー エントリを抽出します。

    ここに画像の説明を入力

    表現: $.result.errors.. これにより、ポイントされた変数 ( )
    が抽出されて保存されます。{"123456789":{"error":"SOME RANDOM MESSAGE","code":1009}}${errorKey}

  3. 以前に JSON パス エクストラクタを追加した後、応答アサーションを子として同じサンプラに追加します。

    ここに画像の説明を入力

    これにより、変数123456789の値でキーの名前 ( ) がアサートされます。${errorKey}


したがって、最終的な構築は次のようになります

...
YOUR Sampler
    JSON Path Extractor
    JSON Path Assertion
    JSON Path Assertion
    Response Assertion
...
于 2013-02-22T11:47:16.560 に答える