如何发送应用程序/ x-WWW窗体-urlencoded PARAMS与JMeter的一个RestS

2019-09-18 16:54发布

我公司开发的休息服务器,我把它在本地主机上运行,​​而我试图执行与JMeter的测试,发送请求的帖子,并得到(取决于调用的方法)。

我已经发送到休息服务器,并得到了在简单的请求后用JMeter结果,得到的请求,发送文件与岗位,并发送一个JSON与职。

但我不知道如何将发送Form-UrlEncoded对象服务器。 我的休息服务器消耗application/x-www-form-urlencoded ,我需要发送3个字符串参数。

这里也有一些方法来设置MimeType为每个参数进行测试?

我使用的是2.7的JMeter

  • [更新]

我解决了这个通过禁用选项:

use multipart/form-data for post

和启用:

redirect automatically

代替:

follow redirect

我在表中把正常的参数与各自的名字“与请求发送参数”。

Answer 1:

您是否尝试过用保存您的测试BADBOY或JMeter的代理服务器 ,看看您的应用程序实际上发送?

看你也可以使用在引擎盖下会发生什么FireBug如果你使用Firefox或Ctrl+Shift+i ,如果你使用Chrome。



Answer 2:

发送形式参数为application / X WWW的窗体-urlencoded,添加一个报头参数的Content-Type值与应用程序/ x-WWW窗体-urlencoded。

下面的步骤是证明3 JMeter的2.3.4

  1. 添加一个HTTP头Manager中的HTTP请求下。
  2. 新的参数添加到HTTP标头经理姓名Content-Type和值应用程序/ x-WWW的形式,进行了urlencoded。
  3. 取消选中“使用多部分/格式数据HTTP POST” HTTP请求。
  4. 取消选中“编码?” 每个请求参数的(不是必需的)。
  5. 保持“内容进行编码:” HTTP请求为空的文本框中。

    这不会对PUT请求工作。 对于PUT请求添加参数路径参数和设置Content-Type头那么JMeter会自己做。



Answer 3:

下面是与JMeter的X WWW的形式,进行了urlencoded测试HTTP POST的解决方案。 你只folllow喜欢这些。

转到线程组 - >添加监听器 - >查看表结果,搜索结果树。 要查看响应的过程。



Answer 4:

IllegalCharsetNameException将马上去后,才你会在HTTP报头管理器中添加所需的内容类型的HTTP请求。

希望这可以帮助。



Answer 5:

其次确切步骤中提到我仍然看到抛出的异常

响应代码:非HTTP响应代码:java.nio.charset.IllegalCharsetNameException响应消息:非HTTP响应消息:应用/ X WWW的窗体-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)


文章来源: How send application/x-www-form-urlencoded params to a RestServer with JMeter?