当前位置: 首页 > 知识库问答 >
问题:

Jmeter-POST API不工作

韩飞翮
2023-03-14

我是Jmeter的新手,一直在努力让它工作以测试我的POST API。对于通过参数选项卡传递参数的GET API调用来说,它工作得很好。

详细信息在这里:

服务器名称:localhost端口:8080路径 /registerMobileUsingCode

在请求正文中,我发送以下内容:

{“clientName”:“DemoOrg”,“code”:“9880007615”,“languageId”:“1”}

我的Jmeter设置如下所示:

我的HTTP请求头如下所示:

API正在生产中,并且与邮递员配合良好。

我只是无法让它通过JMeter工作。很明显,我做错了什么,但不知道是什么,尽管我花了相当多的时间在谷歌上搜索解决方案。

任何帮助都将不胜感激。

线程名称:线程组1-1示例开始:2017-08-09 17:03:41IST加载时间:1604连接时间:1525延迟:1604字节大小:399发送字节:251标题字节大小:213主体字节大小:186示例计数:1错误计数:1数据类型("text"|"bin"|""): 文本响应代码:500响应消息:遇到服务器级别异常

响应标题:遇到HTTP/1.1 500服务器级异常日期:2017年8月9日星期三11:33:43 GMT访问控制允许来源:*内容类型:应用程序/json传输编码:分块服务器:Jetty(9.2.16.v20160414)

HTTPSampleResult字段:ContentType:application/json数据编码:null

根据@Dimitri T的建议,我下载了Postman的Linux版本,并从--proxy server=localhost:8888开始。

我现在能够发出Postman请求并在JMeter中捕获请求。以下是请求的样子:

Jmeter捕获邮递员请求

正如你所见,与我所做的没有根本不同。然而,这确实有效!万岁!

共有2个答案

薛朝
2023-03-14

通过看到你附加的图像,你错过了/在路径中。

路径应该 /registerMobileUsingCode

  1. 如果它从POSTMAN正常工作,那么您的端口8080就可以了。
  2. 您能确认您的请求的数据类型是什么吗?看起来Language ageId是整数,所以您应该使用Language ageId: 1,而不是Language ageId:"1"。整数不应该是双引号。
翟鹏
2023-03-14

如果您的应用程序与Postman配合良好,那么构建JMeter测试计划的最快、最简单的方法就是使用JMeter的HTTP(s)测试脚本记录器记录它。

>

  • 从JMeter的主菜单中选择File-

准备邮差录音

>

  • 为了“告诉”邮递员使用JMeter作为代理,您需要为其提供--proxy server参数,如下所示:

    C:\Users\YOUR_USER_NAME\AppData\Local\Postman\app-x.x.x\Postman.exe --proxy-server=localhost:8888
    

    在邮递员中执行您的请求

    参考文献:

    • JMeter代理一步一步
    • 如何配置Postman原生客户端应用程序以使用外部代理

  •  类似资料:
    • 很长一段时间以来,我一直面临一个问题。我想用完整的Jmeter报告创建html。唯一的解决方案是使用蚂蚁,根据一些站点运行jmeter。 我安装了ant 导航到C:\Jmeter_4.0\apache-Jmeter-4.0\extras并复制所有文件(使用ctrl A)(ctrl C) 导航到C:\ant\ant\bin并粘贴所有文件(Ctrl-v) 创建一个新的文本文件并将其命名为Test。文本

    • JMeter通过模拟一组用户将请求发送到目标服务器。 随后,收集数据以通过各种格式计算目标服务器的统计和显示性能度量。 如下图所示:

    • def wait=new WebDriverWait(wds.browser,5000); sampleResult.sampleStart();get('https://google.com/');wait.teo(expectedconditions.visibilityOfelementlocited(by.xpath(".//input[@name='q']“)));SampleResul

    • 我使用JMeter设置了一个主从负载测试环境。我正在使用具有以下IP的3 CentOS机器 以下是我所做的步骤。 1) 将以下内容添加到从属jmeter。属性文件: 2) 在主 jmeter-server 文件中添加了以下内容 ` 然后当我从< code>xxx.xxx.xxx.2从机的< code >/Apache-jmeter-2.13/bin 文件夹中执行以下命令时。(我没有根用户访问权限,

    • 我有以下Sikuli代码在JMeter这是不工作。 我尝试了Beanshell采样器和JSR223采样器,但在这两种情况下都不起作用。这是我得到的错误。 JSR223采样器 响应消息:javax。剧本脚本异常:javax。剧本ScriptException:FindFailed:C:\scripts\patterns\vnc\vncviewer。png:(32x31)在R[0,0 1920x108

    • 无法从收到此错误的终端启动JMeter: 我的系统上有Java8,我的系统上也设置了,但JMeter无法获得它。