JMeter是Apache组织使用Java开发的一款测试工具
JMeter是使用Java编写的,必须安装Java环境
设置中文编码

ApacheJMeter.jar:图形化启动入口
jmeter.bat:windows下命令行启动
jmeter.sh:Linux下命令行启动
进程:进程是系统分配资源的基本单位
线程:是系统进行运算调度的最小单位,被包含在进程之中,是进程的实际运作单位,一个进程包含一个或多个线程
线程组:线程组是一组相关线程的集合,可以将多个线程组织在一起进行管理
线程组可以实现:
多个线程同时执行
多个线程顺序执行

setUp线程组:最优先执行的线程组
tearDown线程组:最后执行的线程组
测试计划 - 添加 - 线程 - setup/teardown



用于被复用内容的封装,在后续的http请求中如果不填写参数则使用默认值,一般将该元件放到所有http请求之前


作用:用于向http请求头添加参数
例如:如果向服务器发送json数据则需要在请求头中设置Content-Type application/json;charset=utf-8




参考数据
zss,18,西安
lis,21,北京
nana,19,长春
在请求中可以通过${name} ${age} ${address}获取变量的值


添加用户参数

运行结果

JMeter为我们提供了一些内置的函数,可以在函数助手选择使用

作用:用于计数
参数:是否为每个线程分配独立的计数器 存储结果的变量名
作用:生成随机值
参数:最小值 最大值
作用:返回当前时间值
参数:格式 如果不设置则返回当前时间戳
yyyy-MM-dd hh:mm:ss
连接数据库需要引入对应的数据库的连接驱动,可以前往maven仓库进行下载,以mysql为例



将数据库请求结果携带并搜索
在JDBC Request为返回的结果设置variable name,这是一个变量名前缀
添加一个调试取样器
添加新的http请求,使用${}携带需要搜索的变量

对响应的内容进行断言

对响应的各部分内容字节数断言

对请求耗时进行断言




XPath可以通过指定语法从dom树中获取匹配的结果
XPath提取器是后置处理器的一种


要实现跨线程传值需要依赖于两个函数:setPropertie propertie
首先要保障线程组勾选独立运行每个线程组,防止并发
生成setPropertie函数,并添加到BeanShell处理器


BeanShell取样器主要目的是为了执行函数
然后在需要获取变量的地方调用propertie函数

同步定时器的作用是用来限制同时访问的线程数,等待目标数量的线程准备好之后一起访问服务


QPS全称为Query per Seconds 每秒钟的查询数,每秒钟访问多少次服务器

为请求添加常数常数吞吐量定时器
线程组循环次数=每秒钟的访问数量*持续时间
Jmeter打开Jmeter/bin/jmeter.properties,设置remote_host=执行机A的IP:端口号,执行机B的IP:端口号…

在执行机和控制机设置禁用SSL为开启状态


jmeter -n -t 脚本文件 -l 日志文件 -e -o 目录