赏金任务每周更新,请持续关注哦
题目
- 模拟面试场景,面试官提问以下问题,你如何回答。
- JMeter体系结构是什么?JMeter有哪些组件?
参与方式
- 本帖下方回复你的答案即可
赏金
- 100元京东购物卡
活动时间
- 2023年2月20日 - 2023年2月26日
本周赏金任务汇总:🌈 赏金任务发布 2023-02-20
本问题参与赏金活动,详情点击 赏金活动上线啦 丨做赏金任务挑战千元奖金 查看活动介绍
赏金任务每周更新,请持续关注哦
本周赏金任务汇总:🌈 赏金任务发布 2023-02-20
本问题参与赏金活动,详情点击 赏金活动上线啦 丨做赏金任务挑战千元奖金 查看活动介绍
JMeter是一个用于性能测试和负载测试的开源工具,其体系结构如下:
组件名称 | 作用 |
---|---|
Test Plan(测试计划) | 测试计划是JMeter测试的最高级别的元素。它包含了一组控制器(Controller)、用户定义的变量、监听器和其他配置元素,它们一起描述了测试的行为 |
Thread Group(线程组) | 线程组是一个测试计划中的子元素,它描述了一组用户并发访问被测试系统的行为。可以在线程组中设置虚拟用户数、循环次数、请求延迟等属性 |
Sampler(取样器) | 取样器是一个用于模拟用户行为的元素,它会向被测试系统发送请求,比如HTTP请求、FTP请求等 |
Logic Controller(逻辑控制器) | 逻辑控制器用于控制测试的流程,比如循环控制器、条件控制器、随机控制器等 |
Timer(定时器) | 定时器用于模拟用户之间的时间间隔,可以设置一些固定的时间间隔或者随机时间间隔 |
Assertions(断言) | Assertions用于验证请求的响应结果是否符合预期,比如可以验证响应代码、响应内容等 |
Configuration Element(配置元素) | 配置元素包括了一些测试的配置,比如HTTP Cookie管理器、HTTP Header管理器、用户定义的变量等 |
Listener(监听器) | 监听器用于收集测试结果,并以图形或者表格等形式展现出来,比如可以展示测试请求的响应时间、吞吐量等数据 |
逻辑控制器、配置元件、定时器、前置处理器、取样器、后置处理器、断言、监听器。
1:体系结构
Jmeter可以对Web应用进行测试,同时也提供了Web录制功能;另外还支持Java请求、JMS、EJB、WebService、JDBC、FTP、LDAP、SMTP、Junit、Mail、MongoDB、JSR223等测试。基本上我们场景的应用类型都可以用Jmeter进行测试。除此之外,我们还可以方便的扩展Jmeter功能来满足我们特定的测试需求。Jmeter也支持Socket协议的测试。另外JMeter也很方便来进行性能自动化测试。
2:组件介绍
1.线程组
性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个任务的,在线程组中我们可以设置运行的线程数(用户数),运行时长,循环次数等
2.逻辑控制器
控制循环次数等
3.配置元件
性能测试过程中为了模拟大量用户操作我们需要做参数化,那么 Jmeter 参数化就可以通过配置元件来完成,另外 Jmeter 也提供了众多的函数(函数对话框),来帮助我们生成动态的数据
4.定时器(集合点)
为了足够真实的模拟用户负载,我们有时会需要模拟这些请求在同一时刻发送,就好像把大家集合在一条起跑线上同时起跑,那么我们就需要一个集合的功能
5.前置处理器
在脚本开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作,如对数据库操作前需要先建立数据库连接或者使用"用户参数"对用户账号密码参数化
6.取样器 smapler
用来模拟用户操作,向服务器(被测系统)发出 http 等请求
7.后置处理器
后置处理器一般放在取样器后,用来处理服务器返回的结果
8.断言(检查点)
用来验证结果是否正确,用一个预设的结果与实际结果匹配
9.监听器
体系结构:
JMeter组件有:测试计划、线程组、监听器、逻辑控制器、断言、配置元件、前置处理器、后置处理器、定时器、取样器
JMeter 是一个 Java 编写的开源软件,用于压力测试和性能测试。它采用插件化的体系结构,可以通过插件扩展其功能。JMeter 的体系结构主要分为以下几个组成部分:
总体来说,JMeter 的体系结构非常灵活,可以通过不同的组件组合,满足不同的测试需求。同时,由于其插件化的设计,也为用户提供了很大的扩展性和自定义性。
体系结构:
负载–》断言–》监听器
负载:可通过设置线程组、采样器、逻辑控制器等设计场景
断言:设置断言后,可判断成功和失败的数据
监听器:可通过监听器,监控各种指标,作为测试结果判断依据
组件:
线程组、采样器、逻辑控制器:用于设计场景。常用的是http请求,java请求、sql请求等
定时器:使负载更接近真实使用场景。常用的是高斯定时器,普通定时器
前置后期处理器:将请求数据前后关联。常用的是json、正则提取
断言:各种类型断言,用于判断接口返回是否成功。常用的是文本、json、beanshell断言
监视器:监控指标数据,查看结果树、聚合报告、响应时间、tps等
其他组件:csv,counter,http header/cookies/cache/管理器,http请求默认设置,jdbc
一、JMeter体系结构是什么?
基于各种协议,通过多线程与各种元件的组合方式来模拟设计不同的用户场景,所有元件都基于线程组运行。结构图如下:
二、JMeter有哪些组件?
组件:一些元件的集合(一个或多个),如逻辑控制器为组件,包含了事务控制器,If控制器等元件
JMeter组件包括:线程组,表达式,配置元件,逻辑控制器,断言,监听器等
1.线程组:
线程组是每个测试计划的起点,测试计划中的所有元件都必须依托于线程组,且每个线程组是独立运行,不会相互干扰。常用的除了用基础线程组,还有阶梯加压线程组
2.表达式
JDBC关联,JSON关联,Xpath关联,正则关联,比较常用的是正则,方便提取测试所需内容
3.配置元件:
HTTP信息头管理器
HTTP请求默认值
JDBC Connection Configuration(1个计划可以设置多个),
4.定时器:
常用的有用户集合点,固定定时器(线程等待时间,性能测试中相当于用户思考时间)等
5.逻辑控制器:
If,While,循环控制器,事务控制器等 可以根据控制器来判断是否执行下个节点任务
6.断言:
利用不同断言手法,获取实际响应字段与预期值进行匹配对比,常用响应断言,JSON断言,beanshell的断言
7.监听器:
监听工具可用来记录TPS,响应时间,并发数,错误率,对分析产品性能用处很大
8.其他工具:
常用内置函数解析器(__BeanShell,正则,随机函数)
JMeter体系结构是什么?
JMeter是一个负载测试与网络性能测试的运行器,可以用来测试应用程序,系统以及网络。它的体系结构包含了Java/Jakarta BeanShell的脚本编译机、XML文件解析器、数据集变量及文件configuration elements等等。它还包括了对HTTP、FTP、TCP、WebServices等协议的支持,以及对多种报告形式的支持。
JMeter有哪些组件?
1、线程组:指定发出测试请求的用户数量。
2、监听器:它可以收集和显示测试结果。
3、控制器:它可以调节JMeter测试计划流程。
4、构建器:它可以从已有测试计划生成新的测试计划。
5、 断言:它可以检查接收到的响应,以便检查发送的请求的内容。
6、定时器:它可以调节发出请求的速率和频率。
7、后处理器:它可以获取前面的脚本的结果,然后进行处理。