web-dev-qa-db-ja.com

JMeterでJSON応答を確認する方法は?

とにかく、JMeterのRestFul APIから取得したJSON応答を確認しますか?

私は以下の応答を得ています:

{"workingfrom":[{"id":1234,"type":"office","name":"N1"},{"id":5678,"type":"home","name":"N2"}]}
12
Anand Somani

JMeterインストールの/ libディレクトリにgroovy-all-2.3.2.jarを配置するだけで、Groovy JsonSlurper ラッパーを使用できます。パスにその.jarを指定してJMeterを起動した後、Groovyスクリプトを使用するJSR223サンプラーを追加できます。

また、JMeterプラグインパックをインストールすると、 JSON Path Extractor プラグインがあります。これは私にとってはうまく機能しています。

これらは、正規表現を使用するための2つの非常に優れた代替手段です。多くのテストを作成している場合は、これら2つの方法のいずれかが優れています。

5
djangofan

JSONアサーションは別の方法です(JMeter 4)。ノードが存在するかどうかを簡単にアサートできます。ノード値(正規表現など)をアサートすることもできます。 enter image description here

2
singh2005

応答アサーションを追加し、正規表現を使用して文字列を検証します。使用できる正規表現は、Stackoverflowの他の場所にあります。正確には ここ です。これは非常にコストのかかる操作であり、nの並行スレッドで実行するとCPUを消費する可能性があることに注意してください。

2
Sherlock

JMeterのJSONプラグインを使用できます。

最初にインストールします。

  1. Plugins Manager JARファイルをダウンロード そしてそれをJMeterのlib/extディレクトリに置きます。次に、JMeterを起動し、[オプション]メニューに移動してプラグインマネージャーにアクセスします。
  2. [利用可能なプラグイン]タブで、[JSONプラグイン]を選択し、[変更の適用]ボタンと[JMeterの再起動]ボタンをクリックします。

次に、それをテスト計画(またはスレッドグループなど)に追加します。ドロップダウンメニュー[追加]-> [アサーション]-> [jp @gc]-[JSONパスアサーション]

次に、それを構成します。データが{"version":"5.0.0","hitCount":23}のように見えると仮定します。

  1. JSONパス:$.hitCount
  2. 期待値(正規表現):23

JSONパスアサーション に関する詳細情報は次のとおりです。

2
Yuci

値を応答値と比較する場合は、変数を作成してJSR223アサーション内で使用できます。

String code = vars.get("NumberOfUnit");
if(code >= "250" || code <="1000"){
    AssertionResult.setFailure(false);
}
else{
    AssertionResult.setFailure("Error");
    AssertionResult.setFailure(true);
}

変数イメージを作成します-JMETER
スクリプト-JMETER

0
harsh suthar