3

アイデアは、HTTP PUT メソッドを使用してファイルをアップロードするサンプラーを JMeter で構築することです。公式ドキュメントに従って、コンテンツ本体全体をパラメーター名のないファイルとして指定しようとしています。

  • 何が起こるべきか: ファイルがアップロードされ、サーバーは 201: created を返します
  • 実際に何が起こるか:

java.lang.NullPointerException: charsetName at java.lang.String.<init>(Unknown Source) at java.lang.String.<init>(Unknown Source) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sendPutData(HTTPHC4Impl.java:1067) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:274) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1054) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1043) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271) at java.lang.Thread.run(Unknown Source)

これは、JMeter がリクエストの本文に入力する際に​​問題があることを示しているようです。リクエストでパラメータを指定することでこのエラーを回避できるのですが、全身を写真データにしたいです。私が達成したいことのCURL行は次のとおりです。

curl -u testuser:testpass "http://localhost:8080/photo" -T photo.jpg -H "content-type:image/jpeg"

ある投稿で見たように、コンテンツエンコーディングを UTF-8 に設定しようとしましたが、何も変わりませんでした。

Windows 7 x64 で Java 1.7.0 を実行しています。jmeter.log には何も生成されず、wireshark は JMeter がリクエストを送信していないことを通知します。

何か案は?前もって感謝します。

4

3 に答える 3

1

JMeter の親切な人々が非常に迅速に修正できたのはバグであることが判明しました: https://issues.apache.org/bugzilla/show_bug.cgi?id=52897

ナイトリービルドを使用すると問題が解決し、今ではおそらくリリースに含まれています。

于 2012-08-08T05:57:26.033 に答える
0

画像のアップロードに問題があり、ここで答えを見つけましたhttps://stackoverflow.com/a/2115944/455363 . ここで提案された変更を行った後、トランザクションを再記録して編集を行う必要があり、ファイルを正常にアップロードできました。

お役に立てれば。

于 2012-08-07T23:18:08.910 に答える
0

これを行うには、 Raw HTTP リクエストを使用します。Request Data でヘッダーを指定し、利便性のために PUT ボディを含むファイルを指定することもできます。

詳細はこちら

于 2012-03-13T07:59:02.517 に答える