记录下 JMeter 中添加4 种典型 POST 请求的详细步骤
打开 JMeter → 右键【测试计划】→ 添加【线程组】
右键【线程组】→ 添加【取样器】→ 选择【HTTP 请求】
参数以键值对形式传递

如果后端校验了请求头,需要在【HTTP 请求头管理器】里加 Content-Type application/x-www-form-urlencoded
参数以 JSON 字符串传递

需要在【HTTP 请求头管理器】里加 Content-Type application/json;charset=UTF-8
还可以用脚本模拟获取去全局token,比如
用python写个简单接口
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 写入以下脚本

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被获取到啦


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

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

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