Jmeter 脚本请求错误 HTTP STATUS 415

在使用JMeter测试时,遇到Ajax提交表单导致HTTPStatus415错误的问题,通过修改请求头中的Content-Type为application/json;charset=UTF-8,并使用bodydata进行传参,成功解决问题。

Badboy 录制好脚本以后,使用 JMeter 打开,直接运行测试,发现有个 Ajax 提交表单的时候出错了。服务器返回信息如下:

HTTP Status 415 

 

监听器 "察看结果树" 里发现该次请求:

Request Headers:

Content-Length: 52

Connection: keep-alive

Content-Type: application/x-www-form-urlencoded

 

既然是 Json 请求,这个 Content-Type 肯定有问题。所以为该次请求修改请求头里的 Content-Type 修改为 application/json;charset=UTF-8 之后,问题解决。

 

如图片一



 

 

这里修改之后使用body data进行传参,如图二



 

这两步设置之后就OK了。

### 如何在 JMeter 中设置 HTTP 请求参数 #### 设置 HTTP 请求参数的基础流程 JMeter 是一款功能强大的开源性能测试工具,广泛应用于负载测试和性能评估。为了实现高效的 HTTP 请求参数配置,在实际操作中可以按照以下方法完成。 #### 使用 HTTP 请求组件配置参数 当需要发送带有参数的 HTTP 请求时,可以通过 **HTTP 请求 (HTTP Request)** 组件来完成参数化配置[^2]。以下是具体的配置说明: - 在 **HTTP 请求** 组件中的 **参数 (Parameters)** 部分输入相应的字段。 - **名称 (Name):** 表示参数的键名,例如 `username` 或其他自定义变量。 - **值 (Value):** 对应于上述键名的具体取值,比如 `testuser`。 对于不同类型的请求JMeter 会自动调整参数的位置: - 如果是 **GET 请求**, 参数会被附加到 URL 的查询字符串中。 - 若为 **POST 请求**, 则参数将以表单数据的形式提交给服务器。 #### 示例代码展示 下面是一个简单的 Python 脚本模拟 POST 请求的例子, 进一步帮助理解如何构建类似的请求: ```python import requests url = 'https://example.com/api' data = { 'username': 'testuser', 'password': 'securepassword123!' } response = requests.post(url, data=data) print(response.status_code) print(response.text) ``` 此脚本展示了向指定 API 发送包含用户名和密码的数据包的过程。 #### 默认值设定优化效率 另外一种提升工作效率的方法是在测试计划里加入 **HTTP 请求默认值 (HTTP Request Defaults)** 元素[^3]。这样做的好处是可以统一管理多个采样器共有的属性,减少重复劳动。创建该元素的方式如下: - 右击线程组(Thread Group),依次选择菜单项: Add -> Config Element -> HTTP Request Defaults. 通过以上步骤能够快速建立基础框架并简化后续工作流。 #### 创建新的 HTTP 请求节点 最后要记得新建一个用于执行特定任务的实际 HTTP 请求对象[^4]: - 同样是从 Thread Group 出发,选取路径:Add -> Sampler -> HTTP Request 即可生成一个新的请求单元格供编辑使用。 综上所述,利用这些基本概念和技术手段就可以顺利地在 JMeter 平台上搭建起完整的 HTTP 测试场景啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值