jmeterでBeanshellアサーションを使用してJsonレスポンスをアサートしようとしています。以下は私のコードです。jmeterでBeanshellを使用してJSON応答を検証する
import org.json.JSONObject;
import org.json.JSONArray;
import java.lang.String;
import org.apache.log.Logger;
try{
String jsonString = prev.getResponseDataAsString();
JsonObject jsonobj = JsonObject.readFrom(jsonString);
JsonArray jsonarr = jsonobj.get("items").asArray();
String pickup = jsonarr.get(2).asObject().get("CM_NAME").asString();
log.info(pickup);
}
catch(Exception e)
{
log.info("beanshell Exception "+e.getMessage());
}
は、ここで私は私が次のスクリプトを取得するスクリプトを実行した後
$.items[2].CM_NAME
を検証する必要がJSON形式のパスです。
アサーションエラーメッセージ:org.apache.jorphan.util.JMeterException:BSHメソッドを呼び出す エラー:evalのソースとなるファイル:のインライン評価: ``輸入org.json.JSONObject。 import org.json.JSONArray; import java.lang.String; 。 。 。 '':型指定された変数宣言:クラス: JsonObject名前空間
では見られない、私はJMeterのバージョン2.11
を使用しています。誰でも私のスクリプトが正しく動作するように助けてくれますか?私のコードは正しいですか?
はありますがbeanshellアサーションを使用して実装する可能性があります。 – Sjadhav
確かに、ライブラリを使ってレスポンスからチェックするために内容を抽出し、次にこのような条件をチェックしてください:if(!条件)IsSuccess = false; –
上記の例やコードで使用できるインポート(私は2.11バージョンを使用しています)を手伝ってもらえますか?また、JsonPathはMavenリポジトリからダウンロードしなければならないJarです。 – Sjadhav