测试计划的作用
- 测试计划描述了 Jmeter 在执行时,一系列的步骤
- 一个完整的测试计划包含了一个或多个【线程组、逻辑控制器、采样器、监听器、定时器、断言和配置元素】
Jmeter原件和组件的介绍
基本元件的介绍
多个类似功能组件的 容器(类似于类)
组件的基本介绍
实现独立的某个功能(类似于方法)
配置树中的元件
- 树中的每一个控件都能通过右边内容区显示
- 树中的每一个控件都能在树中随意拖动
运行测试计划
- 可以通过ctrl+r运行测试计划
暂停运行测试计划
两种暂停方式
- 停止线程(ctrl + .)【硬中断】
- 关闭线程(ctrl + ,)【软中断】
stop threads
- 许多采样器(Samplers)都是可中断的,这意味着可- 以提前终止活动采样
- stop命令将检查所有线程是否已在默认超时(即5000 ms = 5秒)内停止
- 如果有线程还没被停止,则会发送一条信息;此时可以再发送一次 stop 命令,但如果还是失败的话,就得退出 Jmeter 来清理
注意
上述说的默认超时可以通过Jmeter属性来改变 jmeterengine.threadstop.wait 【jmeter安装目录 / bin / jmeter.properties】
shutdown threads
- 线程会在当前运行任务结束后停止,不会中断活动线程正在执行的任务
- 会出现一个【正在停止测试】的窗口(如下图),直到所有线程都运行完成了才会关闭
- 如果停止时间太久,也可以直接发stop命令
在CLI模式下,如何停止线程执行
在bin目录下,运行脚本
- stoptest.cmd / stoptest.sh 【硬中断】
- shutdown.cmd / shutdown.sh 【软中断】
注意,只有在同一个 host 下运行的脚本,Jmeter 才会接受
常用介绍
线程组
普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
-
setUp线程组: 一种特殊类型的线程组,可用于执行预测试操作
-
tearDown线程组: 一种特殊类型的线程组,可用于执行测试后工作
HTTP请求
向服务器发送http及https请求
查看结果树
Jmeter参数化(重点)
1、用户定义变量
作用:定义 全局变量
参数:
2、 用户参数
作用:针对同一组参数,当不同的用户来访问时,可以获取到不同的值,但不能对同一个用户的不同循环取不同的值
参数:
3、CSV
作用:让不同用户在多次循环时,可以取到不同的值。针对每个用户的每次循环取不同的值
参数:
添加CSV数据文件之后,添加HTTP请求,英勇定义的变量:
格式:${变量名}
4、 函数(__counter)
作用:计数函数,一般做执行次数统计使用。不需要提前准备数据。自动添加计数的方式来完成参数化
设置:
- TRUE,每个用户有自己的计数器;FALSE,使用全局计数器
- Name of variable in which to store the result(optional):用于存储结果的变量名(可选)
在HTTP取样器中,应用counter函数生成的函数字符串,就可以读取counter函数生成的数值。 如果counter
-
参数设置为:TRUE,则每个用户分别(分别计数)从1开始计算,每循环一次加1 如果counter
-
参数设置为:FALSE,则所有用户公用(全局计数)一个计数器,每发送一个请求时,取值加1