Post请求总是在JMeter中返回错误

Post请求总是在JMeter中返回错误,post,cookies,jmeter,load-testing,Post,Cookies,Jmeter,Load Testing,我正在用JMeter创建一个负载测试。我试图发出一个Post请求来创建一个新的资源,但它总是以500个错误响应,即使我发送的标题和参数与浏览器相同,我也尝试了postman,效果很好,只是JMeter不起作用 使用BlazeMeter Chrome扩展记录脚本,并根据需要进行调整 下面的配置通常用于测试计划: HTTP标头管理器,标头为“用户代理” 用户定义变量只有一个变量“BASE\u URL\u 1” HTTP请求默认值为,选择“检索所有嵌入式资源”和“并行下载”,并将“数字”设置为6 D

我正在用JMeter创建一个负载测试。我试图发出一个Post请求来创建一个新的资源,但它总是以500个错误响应,即使我发送的标题和参数与浏览器相同,我也尝试了postman,效果很好,只是JMeter不起作用

使用BlazeMeter Chrome扩展记录脚本,并根据需要进行调整

下面的配置通常用于测试计划:

  • HTTP标头管理器,标头为“用户代理”
  • 用户定义变量只有一个变量“BASE\u URL\u 1”
  • HTTP请求默认值为,选择“检索所有嵌入式资源”和“并行下载”,并将“数字”设置为6
  • DNS缓存管理器选择“每次迭代清除缓存”和“使用系统DNS解析器”
  • HTTP授权管理器未选择任何内容
  • HTTP Cookie Manager,选择“每次迭代清除Cookie?”选项
  • HTTP缓存管理器选择“每次迭代清除缓存?”并将“缓存中的最大元素数”设置为5000
我在“jmeter.properties”中将“CookieManager.save.cookies”选项设置为“true”

下面是“HTTP请求”的图像:

在“HTTP请求”中有一个“HTTP标头管理器”,其中包含以下标头:

在“HTTP请求”中还有一个“统一随机计时器”,其“随机延迟最大值”设置为26344.0,“恒定延迟偏移量”设置为13172

Cookie似乎与会话数据一起正常发送。在尝试在同一会话下执行post请求和其他get请求之前,我确实登录了一个用户并获取了会话数据。我和邮递员一起测试了同样的标题,结果成功了。我不知道为什么这在JMeter中不起作用。我尝试对配置进行了几次更改,但都没有成功。这是一个.NET服务

API并不是以最好的方式构建的,但让我认为这500个错误可能来自JMeter,而不是API,是因为我能够成功地从postman发出请求

有人知道测试配置中可能出现的错误吗

编辑

以下是“查看结果”树中的一些图像:

采样器结果

请求主体

请求头

响应头


响应主体是HTML,表示存在错误。

如果您的请求在Postman中有效,您应该能够使用JMeter的记录

  • 准备好JMeter进行记录,最快最简单的方法是使用

    • 从JMeter的主菜单中选择
      文件->模板->录制
      ,然后单击“创建”
    • 打开HTTP(S)测试脚本记录器并单击“开始”
    • 从邮递员主菜单中选择
      File->Settings->Proxy
    • 使用
      127.0.0.1
      作为代理主机,使用
      8888
      作为代理端口

  • 在邮递员中运行您的请求

  • JMeter将在记录控制器下捕获请求
  • 请求
  • 它应该工作得很好。如果没有-使用第三方嗅探工具(如of)比较Postman和JMeter发送的请求,检测并消除任何不一致
    您希望端口为80?请尝试删除“内容类型”并签入多部分表单数据。如果您从查看结果树发布图像也会很好Hello@user7294900,我不太确定,我使用BlazeMeter记录器创建了测试。您好@zeeshan我尝试删除“内容类型”检查了miltipart表单数据,但我得到了相同的错误。另外,我将用结果树图像更新帖子。谢谢@Dmitri T,问题是我发送了错误的令牌值。我从错误的地方获取令牌值,很难找到,因为它有相同的名称。。。无论如何,这帮助我找到了代币的价值差异。