Jmeter基础003----Jmeter组件之测试计划和线程组
一、测试计划
1、界面展示
测试计划是测试脚本的容器,主要是对测试脚本做总体设置。它定义了测试要执行什么,怎么执行(执行的)。其界面如下图所示:

2、设置用户定义变量
在测试计划中定义的变量是在整个测试计划中都可以使用的,是全局变量。当很多地方都需要用到一个变量时,我们可以在测试计划中添加用户变量,然后在其他元件中使用${变量名}来调用变量。如下图:我们可以定义SERVER为jmeter.apache.org,测试计划的其他元件可以用${SERVER}来引用该变量;

3、设置线程的执行顺序
(1)设置独立运行每个线程组:
默认情况下,线程组中的线程是并发执行的,当然也可以进行设置,勾选测试计划的第一个复选框(独立运行每个线程组),勾选后,线程组串行执行,即按照顺序执行,执行结果的顺序跟测试计划的顺序一致。
(2)设置主线程组结束后执行tearDown线程组:

4、设置函数测试模式
函数测试模式:勾选该选项后,执行测试时将会保留所有的响应数据和取样数据,这会增加测试运行时的资源需求,对性能有不良影响。只有当你需要记录每个请求从服务器取得的数据文件时才需要选择函数测试模式。如果只想对某个取样器结果关注,那么只对那个取样器增加监听器更好些。
5、设置添加目录或者jar包到classpath
此项设置主要是为了添加一些外部jar包文件,例如,当我们智联数据库进行测试时,如果不添加JDBC驱动就会报如下错误,而在测试计划中添加jar包后,问题得以解决。



注:修改后,需要重启jmeter,才能生效。
二、线程组
1、线程相关概念
(1)概念
- 进程:一个正在执行的程序就对应一个进程
- 线程:进程中的执行线索(一个进程有多个执行线索)
- 线程组:按照线程性质对线程进行分组
- 并发执行:多个线程同时执行;特点:执行结束的顺序和线程的启动顺序不一定一致
- 顺序执行:按照线程的启动顺序挨个执行
(2)在Jmeter中三者的关系:
进程有多个线程组,线程组可以有多个线程。
- 进程----测试计划
- 线程组----测试计划下的线程组
- 线程----线程组属性的线程数(相当于用户)
2、界面展示
线程组是测试计划执行的入口点,所有的逻辑控制器和取样器必须存在于线程组下,其他的元件根据位置不同,其作用的取样器范围也不同。线程组的每个线程都独立运行测试脚本。一个线程就相当于一个用户,通过多个线程并发执行实现并发性能测试。线程组可以控制线程数,启动时间和测试执行时间。其界面展示如下图所示:

3、设置线程组属性
- 线程数:要模拟的用户数,用户执行相互独立,例如要模拟100个用户访问系统,那么就设置为100。
- Ramp-up时间(秒):在指定时间内启动所有线程。若为0或未指定,则表示立即启动所有线程。若为非0值,则每隔“线程数/秒数”建立了一个线程。该值不能太小,否则服务器过载,结果不可靠。也不能过大,否则最后一个线程还未启动,第一个线程已经结束了。
- 循环次数:指线程执行的循环次数,即单个用户访问的次数。
延迟创建线程直到需要:直到线程开始取样时才创建。这样可以支持更多的线程,但又不会有太多是同时处于活动状态;
4、设置取样器错误后要执行的动作:
- 继续:忽略错误,继续执行;
- 启动下一进程循环:执行线程的下一个循环;
- 停止线程 :当前线程停止执行,不影响其他线程正常执行;
- 停止测试 : 整个测试会在所有当前正在执行的执行完后停止;
- 立即停止测试: 整个测试会立即停止执行,当前正在执行的取样器可能会被中断。
5、设置调度器
设置调度器后,线程组会在根据调度器设置的限制条件执行。
- 持续时间:表示脚本持续运行的时间,以秒为单位,例:如果你要让用户持续不断登录3分钟,持续时间应该设置为180;
- 启动延迟:表示脚本延迟启动的时间(单位为秒)。例:你希望10分钟后执行线程组,线程组持续执行3分钟,你可以将启动延迟设置为600,持续时间设置为180。
注:为了保证线程组持续时间能够达到持续时间,建议将循环次数勾选为永远。否则循环次数达到,但时间还未到持续时间,线程组也会结束。
三、特殊的线程组
除了普通的线程组外,还有两种特殊的线程组:setUp线程组和tearDown线程组。它们与普通线程组区别在于,setUp线程在普通线程执行前自动触发执行;而tearDown线程组在主线程结束后执行。
- setUp线程组----可以用于测试准备,加载程序主体执行所需的资源。比如:测试前创建测试用户等。
- Teardown线程组-----可以用于测试清理工作或在程序正式关闭之前将数据保存进内存。比如:测试后删除测试用户等。
Jmeter基础003----Jmeter组件之测试计划和线程组的更多相关文章
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
- 转 2 jmeter常用功能介绍-测试计划、线程组
2 jmeter常用功能介绍-测试计划.线程组 1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...
- 性能测试工具JMeter 基础(三)—— 创建测试计划
如何创建一个完整的测试计划? 安装好JMeter后,通过根目录下的bin目录中的jmeter.bat启动JMeter 添加线程组(Thread Group) 在 Test Plan 鼠标右键 Add- ...
- 【转】Jmeter基础之——jmeter基础概念
JMeter 介绍:一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. 从性能工具的原理划分: Jmeter工具和其他性能工具在原理上完全一致,工具包含 ...
- 2 jmeter常用功能介绍-测试计划、线程组
1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添加一些系统常用的配置.如果测试过程中想切换环境,切换 ...
- JMeter非GUI方式运行时动态设置线程组及传参
http://blog.csdn.net/selingchen/article/details/48106517 在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定 ...
- Jmeter系列(14)- Setup与tearDown线程组
与普通线程组区别 #Setup线程组:在普通线程组执⾏前触发 #tearDown线程组:在普通线程组执⾏后触发 线程组属性配置详情完全⼀致 使⽤策略建议 #Setup 线程组 – 压测执⾏准备阶段,准 ...
- 『动善时』JMeter基础 — 8、JMeter主要元件介绍
目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Tim ...
随机推荐
- 跳出初学MySQL知识的原理整理(一)
一.基础架构 MySQL 可以分为 Server 层和存储引擎层两部分. Server 层包括连接器.查询缓存.分析器.优化器.执行器等,所有跨存储引擎 的功能都在这一层实现,比如存储过程.触发器.视 ...
- 我的Android知识结构图——20200507停止更新,后续通过标签或分类继续完善结构图
*持续更新中.调整中(带链接的是已经总结发布的,未带链接是待发布的) *个别知识点在多个分类中都是比较重要部分,为了分类完整性 可能多出都列出了 *每一篇都是认真总结并写出来的,若哪里有问题欢迎指正 ...
- 【QT】QT资料集锦
欢迎来到我的博客! 以下链接均是日常学习,偶然得之,并加以收集整理,感兴趣的朋友可以多多访问和学习.如果以下内容对你有所帮助,不妨转载和分享.(Update on 30,November,2019) ...
- [JavaWeb基础] 005.Hibernate的配置和简单使用
1.Hibernate简介 Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装.采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库, ...
- 01 . Tomcat简介及部署
Tomcat简介 Tomcat背景 tomcat就是常用的的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中.而tomcat本 ...
- jchdl - RTL实例 - AndReg
https://mp.weixin.qq.com/s/p4-379tBRYKCYBk8AZoT8A 输入两组线相与,结果输出到寄存器. 参考链接 https://github.com/wjcd ...
- Chisel3 - 使用chisel-iotesters进行验证
https://mp.weixin.qq.com/s/KqyklKrPLtPm38sftMYlHA 1. 使用Maven获取库 Chisel相关的库基本上都可以使用Maven获取到(https ...
- Java实现 蓝桥杯算法提高 求最大值
算法提高 求最大值 时间限制:1.0s 内存限制:256.0MB 问题描述 给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大.并且要求你选定的数对的ai之和非负 ...
- Java实现 蓝桥杯 算法提高 概率计算
算法提高 概率计算 时间限制:1.0s 内存限制:256.0MB 问题描述 生成n个∈[a,b]的随机整数,输出它们的和为x的概率. 输入格式 一行输入四个整数依次为n,a,b,x,用空格分隔. 输出 ...
- Java实现蓝桥杯历届真题国王的遗产
国王的遗产 题目描述 X国是个小国.国王K有6个儿子.在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子. 其中,大儿子分1/4,二儿子1/5,三儿子1/6,- 直到小儿子分1/9. 牛 ...