我刚接触Jmeter,一直在努力使其能够测试我的POST API。它对于GET API调用没有问题,在参数选项卡中传递参数即可。
Response headers: HTTP/1.1 500 Server Level Exception encountered Date: Wed, 09 Aug 2017 11:33:43 GMT Access-Control-Allow-Origin: * Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(9.2.16.v20160414)
HTTPSampleResult fields: ContentType: application/json DataEncoding: null
UPDATE-2 - 使用Postman和JMeter Recorder 如@Dimitri T所建议的那样,我下载了Postman的Linux版本,并使用 --proxy-server=localhost:8888 启动。
现在我能够发出一个Postman请求并在JMeter中捕获该请求。以下是请求的样子:
以下是细节:
服务器名称:localhost 端口:8080 路径/registerMobileUsingCode
在请求正文中,我发送了以下内容:
{ "clientName": "DemoOrg", "code": "9880007615", "languageId": "1" }
我的Jmeter设置如下:
我的HTTP请求头看起来像这样:
这个API已经在生产环境中使用,使用Postman也能正常工作。
但是我无法通过JMeter使其正常工作。显然我做错了什么,尽管我花了相当多的时间在Google上寻找解决方案。
如果有任何帮助,将不胜感激。
更新 - 1 - 根据建议更新了JMeter日志
Thread Name: Thread Group 1-1 Sample Start: 2017-08-09 17:03:41 IST Load time: 1604 Connect Time: 1525 Latency: 1604 Size in bytes: 399 Sent bytes:251 Headers size in bytes: 213 Body size in bytes: 186 Sample Count: 1 Error Count: 1 Data type ("text"|"bin"|""): text Response code: 500 Response message: Server Level Exception encounteredResponse headers: HTTP/1.1 500 Server Level Exception encountered Date: Wed, 09 Aug 2017 11:33:43 GMT Access-Control-Allow-Origin: * Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(9.2.16.v20160414)
HTTPSampleResult fields: ContentType: application/json DataEncoding: null
UPDATE-2 - 使用Postman和JMeter Recorder 如@Dimitri T所建议的那样,我下载了Postman的Linux版本,并使用 --proxy-server=localhost:8888 启动。
现在我能够发出一个Postman请求并在JMeter中捕获该请求。以下是请求的样子:
如您所见,与我所做的没有根本性的不同。然而,这确实有效!所以万岁!