目录
1.常用的组件以及执行顺序
2.常用的组件作用
2.1 测试计划:jmeter启动,其它组件的容器
2.2 线程组(测试片段):代表一定虚拟用户数,测试片段代表模块
2.3 配置元件:配置信息
2.4 前置处理器:请求之前的操作
2.5 逻辑控制器:可以控制采样器(samplers)的执行顺序
2.6 定时器:控制延迟请求
2.7 取样器:发送请求
2.8 后置处理器:请求之后的操作,通常用于提取响应数据
2.9 断言:判断结果是否正常
2.10 监听器:收集和查看结果
1.常用的组件以及执行顺序
测试计划>>线程组(测试片段)>>配置元件:配置信息>>前置处理器>>逻辑控制器>>定时器>>取样器>>后置处理器>>断言>>监听器
2.常用的组件作用
2.1 测试计划:jmeter启动,其它组件的容器
(1)一个完整的测试计划包含了一个或多个【线程组、逻辑控制器、采样器、监听器、定时器、断言和配置元素】测试计划添加or删除元件
(2)线程组之间在执行是没有顺序。如果希望线程按顺序执行,则需要在测试计划中勾上【独立运行每个线程组】
示例:
2.2 线程组(测试片段):代表一定虚拟用户数,测试片段代表模块
线程组
1. 线程组也可以看作是一个虚拟用户组。线程组中的每一个线程都可以理解为一个虚拟用户
2.在取样器错误后要执行的动作
- continue-继续:继续执行接下来的操作
- Start Next Thread Loop-启动下一进程循环:开始下一次循环
- stop Thread-停止线程:退出该线程(不再执行此线程的操作)
- stop Test-停止测试:等待当前执行的采样器结束后,结束整个测试
- Stop Test Now-立即停止测试:马上停止测试
3. 线程属性
- Number of Threads(users)-线程数:相当于模拟的用户数量
- Ramp-up Period(in seconds):达到指定线程需要的时间,例如线程数为100时间设定为10s,那么就是10s加载 100个线程,每秒启动的线程数=100/10=10
- Loop Count-循环次数:如果填具体的数值,就是循环对应的次数;如果选择“Foreve-永远”,则一直执行下去,直到手动停止
- Delay Thread creation until needed:延迟线程创建,直到需要才创建
线程数为10,循环次数为10,那么一共要进行的数为10*10
4. 调度器:需要勾选上调度器,调度器配置才生效
- 持续时间:测试计划持续多长时间
- 启动时间:测试计划延迟多长时间后才启动
测试片段
特殊的线程组,和线程组同级别。用于多个测试之间协同做接口测试。主要是和模块控制以及Include控制结合使用。
特点:
1.默认是禁用状态。
2.单个测试片段无法执行,需要结合模块控制器或者Include控制器执行
模块控制器
Include控制器
2.3 配置元件:配置信息
具体细节见:【接口自动化测试】Jmeter(3)配置元件 - 知乎
- CSV Data Set Config:用于读取CSV文件中保存的参数
- HTTP信息头管理器:支持用户添加或者重写HTTP请求头
- HTTP Cookie管理器:自动的处理有cookie关联的接口
- HTTP请求默认值:可以设置HTTP请求控制器使用的默认值
- Random Variable:该元件能够生成随机数字,且可以指定格式输出
- 计数器:可以在线程组任何位置创建,允许用户配置起点、最大值和增量。配置后,计数器将从起点循环到最大值,然后重新开始,直到线程结束
- 用户自定义变量:用户自定义变量,通过表达式 ${变量名} 引用变量的值
2.4 前置处理器:请求之前的操作
具体细节见:【接口自动化测试】Jmeter(4)前置处理器 - 知乎
2.5 逻辑控制器:可以控制采样器(samplers)的执行顺序
具体细节见:https://www.cnblogs.com/nnniki/p/12829704.html
- 简单控制器:让我们组织我们的采样器和其它的逻辑控制器(分组功能),提供一个块的结构和控制,并不具有任何的逻辑控制或运行时的功能
- 循环控制器:指定其子节点运行的次数,可以使用具体的数值,也可以使用变量
- 仅一次控制器:在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录场景经常会使用到这个控制器
- ForEach控制器:ForEach控制器一般和用户自定义变量一起使用,其在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值
- 事务控制器:事务控制器会生产一个额外的采样器,用来统计该控制器子结点的所有时间
- If 控制器: 根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断
2.6 定时器:控制延迟请求
具体细节见:jmeter-定时器_jmeter定时器-CSDN博客
2.7 取样器:发送请求
具体细节见:【接口自动化测试】Jmeter(7)取样器 - 知乎
- https协议端口:443
- http协议端口:80
2.8 后置处理器:请求之后的操作,通常用于提取响应数据
具体细节见:https://www.cnblogs.com/ZhengYing0813/p/11845188.html
2.9 断言:判断结果是否正常
具体细节见:JMeter 常用的几种断言方法,你会几种呢? - 知乎
2.10 监听器:收集和查看结果
具体细节见:Jmeter之监听器_jmeter监听器-CSDN博客