一:jmeter中参数化
参数化:是指把请求中的请求参数的常量变为变量,即静态参数实现动态加载参数化方式: 1,CSV 数据文件设置 2,用户定义的变量(参数一般当做全局的) 3,函数助手:例如:_rodmon1,CSV 数据文件设置 1,文件名为存放参数文件的路径 例如C:/Users/MI/Desktop/练习/css选择器知识.txt,注意路径中最好不要出现中文名的文件 2,文件编码:UTF-8 (一般情况) 3,变量名称:csv文件中的变量(位置关系一一对应,多个变量用英文逗号隔开) 4,线程共享模式:当前线程组 其他栏位信息不变,填写完毕,在对应的请求中把参数变为变量,引用变量${}2,用户定义的变量(一般全局的参数用此方式)3,函数助手:例如:_rodmon
一 参数化函数:
CSV文件读取:${__CSVRead(D:\data.txt,0,)}随机数:${__Random(1,100,)}随机字符串:${__RandomString(8,abcdefghigklmnopqrstuvwxyz0123456789,)}时间戳:${__time(,)}生成唯一UUID:${__UUID}注:上述函数都可以将结果保存到一个变量里,函数的最后一个参数为变量名称
1.1 函数:CSV文件读取
1.2 csv文件参数化:添加CSV Data Set Config :线程组→添加→配置元件 → CSV Data Set Config
二:聚合报告
Throughput吞吐量——默认情况下表示每秒完成的请求数(Request per Second)对于接口测试来说,Jmeter里的吞吐量=TPS
三 :插件的使用、
使用Jmeter插件可以扩展Jmeter的功能
插件官网: http://jmeter-plugins.org/downloads/all
使用Jmeter插件管理器,可以自动下载并安装插件,更加方便简单 几个好用的插件: 1> 3 Basic Graph:windows下可用的实时tps和响应时间的插件 2> Custom JMeter Functions 扩展函数 3> Random CSV Data Set Config 随机csv文件参数化 4> PerfMon 服务端性能实时监控插件 四:控制器
常用的逻辑控制器1、循环控制器:可以设置该控制器内的sampler执行的次数,循环次数与线程的循环次数各自独立2、if控制器:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串都需要加引号条件格式:${__jexl3(条件表达式)}如:${__jexl3(${num} > 10)}、 ${__jexl3(“${num}” == “10”)}3、仅一次控制器:该控制器内的请求只执行一次,无论线程循环多少次4、foreach控制器,可以遍历某个参数数组,循环获取数组中的参数
常用的后置处理器JSON提取器json路径表达式:https://github.com/json-path/JsonPath正则表达式提取器三步走1、拷贝目标数据和左右边界2、把目标数据用括号括起来3、把目标数据用.+?代替
调试取样器可以打印出来Jmeter运行过程中保存下来的参数,需要配合查看结果树使用
定时器固定定时器设置一个固定的sleep时间同步定时器Jmeter里的集合点,并发会在此停留,等待指定的线程数达到时,再进行下一步操作常量定时器控制请求的TPS,按照分钟控制,比如设置为6000,就是控制最高TPS为6000/60=100
五:上传文件及下载
上传:◼ POST请求,勾选 use …for post◼ 同请求一起发送文件里,填写文件名称,参数名称◼ MIME类型: application/octet-stream下载:普通GET请求