2017-06-05 18 views
0

私はJMeterを使用してファイルをアップロードするための安心なエンドポイントをテストしようとしていますが、400エラーが発生しています。私に飛びつくことは境界値です。それは要求に示されたものと同じではありません。ブラウザでエンドポイントを問題なく使用できるようになりました。開発ツールで公開されているヘッダーをFFに複製しました。JMeter 400エラーファイルアップロード

ここ

はJMeterのから関連情報です:

結果]タブ:

スレッド名:空自 - 負荷テスト1-1

サンプル開始:2017年6月5日午前8時47分:46 EDT

ロード時間:159

接続時間:28

待ち時間:バイト単位で159

サイズ:438

送信されたバイト:バイト単位で821003

ヘッダサイズ:バイト単位で438

ボディサイズ:0

サンプル数: 1

エラー数:1

データタイプ( "テキスト" | "ビン" | ""):

レスポンスコード:400

応答メッセージ:不正な要求

レスポンスヘッダ:

HTTP/1.1 400不正リクエスト

日:月、2017年6月5日午前12時47分46秒GMT

サーバー:Apacheの/ 2.4.25(Win64の)のOpenSSL/1.0。2K

のCache-Control:キャッシュなし、無店舗、最大エージング= 0、-再検証する必要があり

プラグマ:キャッシュなしでは

有効期限:0

厳密-Transport-をセキュリティ:max-age = 31536000;包含サブドメイン

X-XSS-保護:1;モード=ブロック

X-フレーム・オプション:

X-Content-Typeの-オプションをDENY:キャッシュなし、-再検証する必要があり

のContent-Length:

のCache-Control nosniff 0

接続:近い

HTTPSampleResultフィールド:

たContentType:

のDataEncoding:ヌル

リクエスト]タブ:

POST https://localhost/my/rest/endpoint

POSTデータ:

--9amm365-gMmimP70lvs9jIvlIxOfkocUN

コンテンツディスポジション:フォーム-データ; name = "parseable";ファイル名= "asdf.docx"

のContent-Type:アプリケーション/ vnd.openxmlformats-

officedocument.wordprocessingml.document

コンテンツ転送 - エンコード:

バイナリ - -9am365-gMmimP70lvs9jIvlIxOfkocUN-

[クッキーなし]

リクエストヘッダ:

接続:キープアライブ

のContent-Type:マルチパート/フォームデータ;境界= - Uc_2uLvcVgc7SqvzIJxR3encUKw- f7w9

-受け入れエンコード:gzipでは、収縮、BR

のAccept-言語:EN-US、EN; q = 0でを。5

は受け入れ:アプリケーション/ JSONを、text/plainで、/

X-要求-OnBehalfOf:一部のユーザー-UUID

X-要求-付:XMLHttpRequestを

たContent長さ:820532

ホスト:localhostの

のUser-Agent:Apacheの-HttpClientを/ 4.5.3(Javaの/ 1.8.0_121)

応答データタブは空白です。

サーバー側の実装:

@POST 
@Override 
@EnhancedDetail 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("my/rest/endpoint") 
public Response uploadProduct(@PathParam("id") final String id, MultiPart multipart) throws IOException { 
    return processMultiFileUpload(id, multipart, MultiPartUploadType.DRAFT, false); 
} 

答えて

1

それはTesting REST API File Uploads in JMeter資料に記載されているように、手動でリクエストを構築している場合 - あなたはHTTP RequestサンプラーのUse multipart/form-data for POSTボックスがチェックされていない持っていることを確認してください。

およびその逆、このボックスにチェックを入れた場合、あなたは私が最も簡単な方法はただ念(HTTP(S) Test Script Recorderを使用して、ファイルアップロードイベントを記録することになると信じていContent-Typeヘッダ


を上書きする必要はありませんasdf.docxファイルがJMeterインストールの「bin」フォルダにコピーされます)

0

私はそれを理解しました。 HTTP要求のクライアント実装をJavaに変更しました。私が読んだことはすべてHttpClient4を使っていると言いましたが、私はJavaを試してみました。