RESTful APIを使用してサービスをテストすると、メソッドはバイナリ・データでPOSTリクエストを受け取ります。 私はテストのためにJMeterを使用します。しかし、私はこのツールでこのような要求をすることに苦労しています。JMETERを使用してRESTfulなAPIにバイナリ・ボディでPOSTリクエストを送信
私はバイナリデータを作成し、ボディデータで、私はそれが変数から生のバイトを読んで作り、送信するために${bytes}
を入れてHTTPリクエスト、
import java.util.Base64;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.codec.binary.Base64;
String base64Str="Some string";
//Encode the string
byte[] bytes = Base64.encodeBase64(base64Str.getBytes());
vars.putObject("bytes", bytes);
次に変数にそれを置くためにBeanShellのサンプラーを使用しますそれはPOSTリクエストで行われます。しかし、 "java.lang.ClassCastException:[Bはjava.lang.Stringにキャストできません"という例外が出ます。つまり、Bodyデータでは、指定された変数bytes
がstringにキャストされます。 かなり似た質問はSending HTTP requests with binary body using JMeterですが、コメントに文字列キャスティングについて同じ結論がありました。 リクエストを含むファイルを送信するとできますか?
プラグインのHTTP Rawリクエストがありますが、具体的なAPIメソッドにリクエストを送信する方法が見つかりません。プラグインにはポート用のフィールドしかありません(ポートの直後にメソッドパスを書き込むかもしれません)。バイトを渡す方法。