12

私はRESTサーバーを開発し、それをローカルホストで実行するようにしました。JMeterでテストを実行し、リクエストの投稿と取得を送信しようとしています(呼び出されたメソッドによって異なります)。

私はすでにRestサーバーに送信し、JMeterで簡単な投稿リクエスト、リクエストの取得、投稿付きのファイルの送信、投稿付きのJsonの送信で結果を取得しました。

Form-UrlEncodedしかし、オブジェクトをサーバーに送信する方法がわかりません。私のRESTサーバーはを消費しapplication/x-www-form-urlencoded、3つの文字列パラメーターを送信する必要があります。

MimeTypeすべてのパラメータにを設定してテストを実行する方法はありますか?

Jmeter2.7を使用しています

  • [アップデート]

オプションを無効にすることでこれを解決しました:

use multipart/form-data for post

そして有効にする:

redirect automatically

それ以外の:

follow redirect

「リクエストでパラメータを送信」の表に通常入れているパラメータとそれぞれの名前。

4

5 に答える 5

22

フォームパラメーターをapplication/x-www-form-urlencodedとして送信するには、ヘッダーパラメーターContent-Typeに値application/x-www-form-urlencodedを追加します。

次の手順は、Jmeter2.3.4に適用できます。

  1. httpリクエストの下にHTTPヘッダーマネージャーを追加します。
  2. 名前がContent-Type、値がapplication/x-www-form-urlencodedの新しいパラメーターをHTTPヘッダーマネージャーに追加します。
  3. HTTPリクエストの「HTTPPOSTにmultipart/form-dataを使用する」のチェックを外します。
  4. 「エンコードしますか?」のチェックを外します 各リクエストパラメータの(不要)。
  5. HTTPリクエストの「ContentEncode:」テキストボックスを空のままにしました。

    これは、PUTリクエストでは機能しません。 put requestの場合、パスパラメータとしてパラメータを追加し、Content-Typeヘッダーを設定すると、Jmeterが自動的に実行します。

于 2015-07-22T08:57:24.147 に答える
10

これが、jmeterを使用したx-www-form-urlencodedテストを使用したHTTPPOSTのソリューションです。あなたはこのようにただ従います。 ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

[スレッドグループ]->[リスナーの追加]->[テーブルの結果の表示]、[結果ツリーの表示]に移動します。応答のプロセスを確認します。

于 2017-10-30T08:53:58.010 に答える
2

BadBoyまたはJMeterProxyを使用してテストを保存し、アプリケーションが実際に何を送信するかを確認しようとしましたか?

内部で何が起こるかを確認するにFireBugは、FireFoxを使用している場合やCtrl+Shift+iChromeを使用している場合にも使用できます。

于 2012-06-28T21:59:55.937 に答える
0

IllegalCharsetNameExceptionは、HTTPリクエストのHTTPヘッダーマネージャーで必要なコンテンツタイプを追加した直後にのみ発生します。

お役に立てれば。

于 2017-12-01T15:48:57.977 に答える
-3

記載されている正確な手順に従いましたが、例外がスローされます

応答コード:非HTTP応答コード:java.nio.charset.IllegalCharsetNameException応答メッセージ:非HTTP応答メッセージ:application / x-www-form-urlencoded

java.nio.charset.IllegalCharsetNameException: application/x-www-form-urlencoded
    at java.nio.charset.Charset.checkName(Charset.java:315)
    at java.nio.charset.Charset.lookup2(Charset.java:484)
    at java.nio.charset.Charset.lookup(Charset.java:464)
    at java.nio.charset.Charset.forName(Charset.java:528)
    at org.apache.http.entity.ContentType.create(ContentType.java:210)
    at org.apache.http.entity.StringEntity.<init>(StringEntity.java:116)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sendPostData(HTTPHC4Impl.java:1340)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.handleMethod(HTTPHC4Impl.java:592)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:409)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1166)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1155)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249)
    at java.lang.Thread.run(Thread.java:745)
于 2017-07-17T16:13:41.610 に答える