基本设置
- 下载jmeter:https://jmeter.apache.org/
- 下载jdk:https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 工具包存放路径:/*/apache-jmeter-5.2.1/lib/ext
- 中文设置:打开jmeter-选项-选择语言-中文(简体)
- 修改默认显示:打开/*/apache-jmeter-5.2.1/bin/jmeter.properties文件,搜索language=cn并注释掉,新增如下设置:
language=zh_CN
- jmeter插件下载地址:https://jmeter-plugins.org/
- jmeter中的参数调用:${参数名称}
- 常用jmeter内置函数:time、timeshift
-
- time:
${__time(yyyy-MM-dd)}—获取当前日期
${__time(yyyy-MM-dd HH:mm:ss:SSS,time)}—获取当前时间
${__time(,)}—获取当前时间戳13位
${__time(/1000,)}获取当前时间戳10位
-
- timeshift:可借助函数助手查看(若没找到该函数,表示jmeter版本过低)

第三行为时间运算,实现加减日期。不使用符号时为增加,使用-号为减(使用时间加减时,需要首字母P),再搭配天、小时、分、秒对应的字母为 D\H\M\S
当只需要变量天时,可以直接使用 1D、+2D、-3D等,如:
${__timeShift( yyyy-MM-dd HH:mm:ss,,P1D,,)}
${__timeShift( yyyy-MM-dd HH:mm:ss,,P+2D,,)}
${__timeShift( yyyy-MM-dd HH:mm:ss,,P-3D,,)}
当需要变量时分秒时,则需要首字母PT,如:
${__timeShift(yyyy-MM-dd HH-mm-ss,,PT-1H-2M-3S,,)}
当前时间前1小时2分3秒
当有天时,T需要加到天的单位后,如:
${__timeShift(yyyy-MM-dd HH-mm-ss,,P-1DT-2H-3M-4S,,)}
当前时间前一天2小时3分钟4秒。
- 日志查看:打开jmeter-选项-日志查看
- 设置日志级别:打开jmeter-选项-日志级别
jmeter测试计划

- 名称:略
- 注释:略
- 用户定义变量:全局变量(参数化常用变量)
- 独立运行每个线程组:按顺序运行线程组
- 添加jar包:添加自定义的jmeter工具包(java代码)
jmeter线程组

- 名称:略
- 注释:略
- 在取样器遇到错误后要执行的动作:按照需求选择,一般为继续
- 线程属性:
-
- 线程数量:运行多少个线程
-
- ramp-up时间(秒):多少时间内执行完这些线程,每个线程运行时间为ramp-up时间/线程数量
-
- 循环次数:循环多少次
Http默认请求

- 名称:略
- 注释:略
- 基本选项:
-
- 协议:http
-
- 服务器名称或ip:服务器地址
-
- 端口号:端口号
-
- 编码:utf8
Http消息头管理器

- 名称:略
- 注释:略
- 消息头存储在消息头管理器中:填写消息头信息一般为Content-Type(数据类型)、Content-Encoding(编码)、Accept(返回数据)
Http请求

- 名称:略
- 注释:略
- 基本-web服务器:配置有http默认请求的不用填写
- http请求-方法:post/get等
- 路径:接口路径
- 内容编码:utf8
- 参数类型:具体参考接口文件中的要求:
-
- 参数:parameter
-
- 消息体数据:body
-
- 文件上传:upload
CSV数据文件设置

- 名称:略
- 注释:略
- 文件名称:路径/文件名称.类型
- 文件编码:utf8(文件保存时需要设置)
- 编码名称:a,b,c(与文件中每列对应)
- 忽略首行:True,False(变量名写到文件中需要设置为True)
- 分隔符:变量区分的符号
- 是否允许带引号?:True,False(json类型的需要设置为True)
- 遇到文件结束再次循环:True,False(一般为False)
- 遇到文件结