一、JMeter线程组相关
- 进程:正在运行的程序。
- 线程:是进程中的执行线索。
- 线程组:进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组。
- PS:三者关系,一个进程可以包含多个线程组,一个线程组可以包含多个线程。
- JMeter两个特殊线程组:
(1)setUp线程组:最优先执行的线程组。
(2)tearDown线程组:最后执行的线程组。
二、JMeter并发执行和顺序执行
- 并发执行:多个线程同时执行
- 顺序执行:多个线程顺序执行
三、Jmeter线程组常用属性
四、http请求默认值
http请求默认值:被复用的内容的封装
五、参数化
Jmeter有四种方式实现参数化:
1.用户定义的变量
调用格式:${变量名}
2.CSV数据文件设置
CSV:逗号分隔值,是一种简洁且常见的数据存储格式.
-
文件编码
文件的编码格式,与所选的CSV文件的编码格式保持一致,中文一般选UTF-8编码。
-
分隔符号(用’\t’代替制表符)
根据CSV文件中的分隔符进行填写,默认:,
-
是否允许带引号
假如CSV文件中有一条数据值为”1,2“,以下分别是选”True“和”False“返回的结果True:"1,2"False:1,2
-
遇到文件结束符再次循坏
假如CSV文件中有5条记录,但线程组有10个
(1)True:循环10次后,重头开始循坏取值
(2)False:循环10次后,不会重头开始循环取值 -
遇到文件结束符停止线程
(1)True:当取完CSV文件中所有的值后,直接停止线程
(2)False:当取完CSV文件中所有的值后,不会直接停止线程 -
线程共享模式
(1)所有现场:CSV文件的变量可以被同一测试计划中的所有线程组引用
(2)当前线程组:CSV文件的变量只可以被当前线程组引用
(3)当前线程:CSV文件的变量只可以被当前线程引用
3.用户参数
- 数据设计规则:第一列声明每条数据的字段名称,第二列及以后,每一列对应一条数据。
4.函数
常见函数:
(1)_counter 计数器函数 TRUE(每个用户都有自己的计数器) False(所有用户共用一个计数器)
(2)_Random 随机数函数 参数1:取值范围最小值(包含 ) 参数2:取值范围最大值(包含)
(3)_time:获取当前时间的函数 无参:获取的是距离 1970/01/01 00:00:00 的毫秒值
参数1:yyyMM_dd HH:mm:ss 格式化成 年\月_日 时:分:秒格式。
六、直连数据库
1.JMeter不具备直连数据库功能,必须整合第三方(jar包)实现。
2.配置数据库的连接。
3.通过JDBC Request请求向数据库发送SQL语句并接收提取响应结果。
4.结果获取规则可以通过Debug sampler组件查看。
七、断言
断言:让程序代替人工判断响应结果是否符合预期。
分类:
- 响应断言 = 断言状态码和响应体
- 大小断言 = 判断响应内容的字节长度
- 断言持续时间 = 判断响应时间
响应断言: