首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JMeter 中添加4 种典型 POST 请求

JMeter 中添加4 种典型 POST 请求

作者头像
小田测测看
发布2026-06-17 18:04:54
发布2026-06-17 18:04:54
720
举报

记录下 JMeter 中添加4 种典型 POST 请求的详细步骤

打开 JMeter → 右键【测试计划】→ 添加【线程组】

右键【线程组】→ 添加【取样器】→ 选择【HTTP 请求】

表单格式 POST 请求(application/x-www-form-urlencoded)

参数以键值对形式传递

如果后端校验了请求头,需要在【HTTP 请求头管理器】里加 Content-Type application/x-www-form-urlencoded

JSON 请求(application/json)

参数以 JSON 字符串传递

需要在【HTTP 请求头管理器】里加 Content-Type application/json;charset=UTF-8

还可以用脚本模拟获取去全局token,比如

用python写个简单接口

代码语言:javascript
复制
from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/login', methods=['POST'])
defadd_user():
    try:
        user_data = request.get_json()
        print("=== 接收到的请求参数 ===")
        print(f"用户名:{user_data.get('username')}")
        print(f"密码:{user_data.get('password')}")
        return jsonify({
            "code": 200,
            "token":"23457"
        }), 200

    except Exception as e:
        return jsonify({
            "code": 500,
            "msg": f"服务器内部错误:{str(e)}",
            "data": None
        }), 500


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

记得要选 groovy 写入以下脚本

代码语言:javascript
复制
import groovy.json.JsonOutput
import groovy.json.JsonSlurper

def jsonMap = [
    username:"admin",
    password:"123"
]
String body = JsonOutput.toJson(jsonMap)
log.info("body = ${body}")

URL url = new URL("http://127.0.0.1:5000/login")
HttpURLConnection conn = (HttpURLConnection) url.openConnection()
conn.setRequestMethod("POST")
conn.setDoOutput(true)
conn.setRequestProperty("Content-Type", "application/json")
conn.getOutputStream().write(body.getBytes("UTF-8"))
conn.getOutputStream().close()

int responseCode = conn.getResponseCode()
InputStream is = (responseCode == 200 ? conn.getInputStream() : conn.getErrorStream())
String response = is.getText("UTF-8")
log.info("Response: ${response}")

def jsonResp = new JsonSlurper().parseText(response)
String token = jsonResp["token"]

vars.put("login_token", token)

// 在日志里打印,Debug Sampler 可见
log.info("成功提取 token: ${token}")

然后 右键线程组 → 添加 → 取样器 → 【Debug Sampler】(调试取样器)

此时能看到 token被获取到啦

文件上传请求(multipart/form-data)

上传文件(如图片、文档、视频)时会用到

【请求头管理器】:无需手动加 Content-Type,JMeter 会自动生成 multipart/form-data

XML 格式 (text/xml)

需要在【HTTP 请求头管理器】里加 Content-Type text/xml;charset=UTF-8

注意事项:

  1. 1. JSON/XML 格式:参数需严格符合语法(如 JSON 双引号、XML 闭合标签),否则接口会返回 400/500 错误;
  2. 2. 文件上传:路径需用绝对路径,避免中文 / 空格(Linux 路径区分大小写);
  3. 3. Content-Type:不同 POST 类型的 Content-Type 必须匹配,否则接口无法解析参数
  4. #JMeter #Jmeter性能
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 表单格式 POST 请求(application/x-www-form-urlencoded)
  • JSON 请求(application/json)
  • 文件上传请求(multipart/form-data)
  • XML 格式 (text/xml)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档