4

我是 Jmeter 的新手,一直在努力让它测试我的 POST API。它适用于我通过“参数”选项卡传递参数的 GET API 调用。

详情在这里:

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

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

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

我的 Jmeter 设置如下所示:

1

我的 HTTP 请求标头如下所示:

请求标头详细信息

该 API 正在生产中,并且可以与邮递员一起正常工作。

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

任何帮助将非常感激。

更新 - 1 - 按照建议使用 jmeter 日志更新

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

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

HTTPSampleResult 字段:ContentType:application/json DataEncoding:null

UPDATE-2 - 使用 Postman 和 JMeter 记录器

正如@Dimitri T 所建议的,我下载了 Linux 版本的 Postman 并使用 --proxy-server=localhost:8888 启动它。

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

邮递员请求的 Jmeter 捕获

如您所见,与我所做的没有什么根本不同。但是,这确实有效!这么快!

4

2 回答 2

0

如果您的应用程序与 Postman 一起工作正常,那么构建 JMeter 测试计划的最快和最简单的方法就是使用 JMeter 的HTTP(S) 测试脚本记录器来记录它。

  1. 准备 JMeter 进行录制(您可以通过JMeter 模板功能单击几下完成)

    • 从 JMeter 的主菜单中选择File -> Templates -> Recording并单击“创建”
    • 展开Workbench - HTTP(S) Test Script Recorder并单击“开始”
  2. 准备 Postman 进行录音

    • 为了“告诉” Postman 使用 JMeter 作为代理,您需要为其提供--proxy-server参数,例如:

      C:\Users\YOUR_USER_NAME\AppData\Local\Postman\app-x.x.x\Postman.exe --proxy-server=localhost:8888
      
  3. 在 Postman 中执行您的请求

  4. JMeter 将捕获请求,将它们转换为HTTP 请求采样器并将它们存储在Test Plan -> Thread Group -> Recording Controller

参考:

于 2017-08-09T11:14:52.553 回答
0

通过查看您附加的图像,您在路径中缺少/ 。

路径应该是/registerMobileUsingCode

  1. 如果它在 POSTMAN 上工作正常,那么你的端口 8080 就可以了。
  2. 您能否确认您的请求的数据类型是什么?看起来 languageId 是整数,所以你应该使用 languageId: 1,而不是 languageId: "1"。整数不应该是双引号。
于 2021-02-12T04:32:44.943 回答