jmeter-基本介绍

jmeter

1.多线程框架-支持多并发操作

2.用于对服务器模拟负载

3.支持web、数据库、FTP服务器系统的性能测试

4.开源、纯Java、可二次定制化开发

 

jmeter文件夹目录

bin目录文件
jmeter.bat : Windows的启动文件
jmeter.log :日志文件
jmeter.sh :linux的启动文件
jmeter.properties:系统配置文件
jmeter-server.bat :Windows分布式测试要用到的服务器配置
jmeter-serve:linux分布式测试要用到的服务器配置

docs:接口文档目录docs\api\index.html
extras:扩展插件目录
lib:所用到的插件目录,里面全是jar包,jmeter会自动在jmeter_home/lib和ext目录下寻找需要的类
Lincenses jmeter整数目录
printable_docs 用户使用手册

 

jmeter常用组件

1、Test Plan (测试计划):

      用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。类似于LR的测试场景

注意

“函数测试模式”复选框,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据。

如果你在测试监听器中选择一个文件,这个数据将被写入文件。

如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果,这是很有用的。这样做的后果就是这个文件会快速的增大,并且Jmeter的效率会影响。

如果不记录数据到文件,这个选项就没有不同了



2、Threads (Users)线程 用户

1) setup thread group

       一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。类似于lr的init.可用于执行预测试操作

2) teardown thread group 

      可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。类似于lr的end.可用于执行测试后动作

3) thread group(线程组)

      这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

线程数:多少个虚拟用户

Ramp-Up Period:单位是秒,它指定了启动所有线程所花费的时间,如截图中启动10个线程需花费10秒,那么每1秒启动一个线程;0代表同时并发

循环次数:表示每个线程执行多少次请求;勾上永远,表示如果不停止或者限定时间将会一直执行下去, 是为了方便调度器的调用

 Delay Thread creation until needed:延迟创建线程,直到该线程开始采样,即之后的任何线程组延迟和加速时间为线程本身。这样可以支持更多的线程,但不会有太多是同时处于活动状态

调度器:勾选后,启动延时,持续时间才可编辑

持续时间:表示脚本持续运行的时间,以秒为单位,比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600

启动延迟:表示脚本延迟启动的时间,在点击启动后,如果启动时间已经到达,但是还没有到启动延迟的时间,那么,等到启动延迟的时间到达后,再运行系统

 

3、取样器(Sampler)

     取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler如 HTTP Request Sampler 、 FTP  Request Sampler 、TCP  Request Sampler 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。在Jmeter的所有Sampler中,Java Request Sampler与BeanShell Requst Sampler是两种特殊的可定制的Sampler.

 

4、逻辑控制器(Logic Controller)

      逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。

 

 

5、前置处理器(Per Processors)

前置处理器用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID ;如参数设置。

 

6、后置处理器(Post Processors)

      后置处理器是用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器,则可以提取响应数据中通过正则表达式获得的数据。

 

7、断言(Assertions)

      断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。

 

8、定时器(Timer)

      定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里面的“思考时间”。 JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

 

9、测试片段(Test Fragment)

      测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

 

10、配置元件(Config Element)

       配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。

11、监听器(Listener)

       这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件。

12、非测试元件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值