我公司开发的休息服务器,我把它在本地主机上运行,而我试图执行与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
我在表中把正常的参数与各自的名字“与请求发送参数”。
您是否尝试过用保存您的测试BADBOY或JMeter的代理服务器 ,看看您的应用程序实际上发送?
看你也可以使用在引擎盖下会发生什么FireBug
如果你使用Firefox或Ctrl+Shift+i
,如果你使用Chrome。
发送形式参数为application / X WWW的窗体-urlencoded,添加一个报头参数的Content-Type值与应用程序/ x-WWW窗体-urlencoded。
下面的步骤是证明3 JMeter的2.3.4
- 添加一个HTTP头Manager中的HTTP请求下。
- 新的参数添加到HTTP标头经理姓名Content-Type和值应用程序/ x-WWW的形式,进行了urlencoded。
- 取消选中“使用多部分/格式数据HTTP POST” HTTP请求。
- 取消选中“编码?” 每个请求参数的(不是必需的)。
保持“内容进行编码:” HTTP请求为空的文本框中。
这不会对PUT请求工作。 对于PUT请求添加参数路径参数和设置Content-Type头那么JMeter会自己做。
下面是与JMeter的X WWW的形式,进行了urlencoded测试HTTP POST的解决方案。 你只folllow喜欢这些。
转到线程组 - >添加监听器 - >查看表结果,搜索结果树。 要查看响应的过程。
IllegalCharsetNameException将马上去后,才你会在HTTP报头管理器中添加所需的内容类型的HTTP请求。
希望这可以帮助。
其次确切步骤中提到我仍然看到抛出的异常
响应代码:非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?