测试-Jmeter笔记1-配置、文件目录、8个可执行元件
一、jmeter配置
二、文件目录介绍
1、bin目录 可执行文件目录
(1)ApacheJMeter.jar jmeter.bat:windows的启动文件
(2)jmeter.log 日志文件
(3)jmeter.sh linux的启动文件
(4)jmeter.properties 系统配置文件
(5)jmeter-server.bat window分布式测试要用到的服务器配置
(6)jmeter-server linux分布式测试要用到的服务器配置
2、docs 接口文档目录
3、extras 扩展插件目录
4、lib 所用到的插件目录,里面全是jar包,JMeter会自动在JMETER_HOME/lib和ext目录下寻找需要的类
5、Licenes jmeter证书目录
6、printable_docs用户使用手册
三、Jmeter功能概要
1、Jmeter工具组成部分
(1)资源生成器:用于生成测试过程中服务器、负载机的资源代码。(LR中的VuGen 生成脚本的模块、建议先学习下LR)
(2)用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为。(LR中的Controller)
(3)报表生成器:根据测试中实时地数据生成报表,提供可视化的数据显示方式。(LR中的Analysis)
(4)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。(LR中的LoadGerators)
Test Plan(测试计划):用来描述一个性能测试,包含于本次性能测试所有相关的功能。也就说的性能测试的所有内容是给予一个计划的,(相当于LR的一个测试场景)
2、Treads(Users)线程 用户
1)setup thread group
一种特殊类型的TreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。类似LR中的init()。
2)teardown thread group
一种特殊类型的TreadGroup的,可用于执行测试后的动作。这些线程的行为完全像一个正常的线程组元件,不同的是,这些类型的线程执行测试结束后执行定期的线程组。类似LR中的end()。
3)thread group(线程组)
这个就是我们通常添加运行的线程。可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中时不会发生改变的,类似LR中的action()。
3、测试片段(Test Fragment)
测试片段元素是控制器上的一个特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同。因为它不被执行,除非它是一个模块控制器所引用时才会被执行。
以下是线程组的8类可执行元件。
4、配置元件(config Element)
配置元件(config element)用于提供对静态数据配置的支持。如CSV Data Set config 可以将本地数据文件形成数据池(Data Pool)。
5、定时器(Timer)
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LR里面的“思考时间”。JMeter定义了Bean Shell Timer、Constant throughput Timer、固定定时器等不同类型的Timer。
6、前置处理器(Per Processors)
用于实际的请求发出之前对即将发出的请求进行特殊处理。例如:HTTP URL重写修复符则可以实现URL重写,当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际sessionID。
7、后置处理器(Post Processors)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。
8、断言(Assertions)
断言用于检查测试中得到的响应数据等是否符合预期,断言一般用来设置检查点,用于保证性能测试过程中的数据交互是否与预期一致。与LR中的检查点功能含义一致。
9、监听器(Listener)
用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果数、聚合报告。都是我们经常用到的元件。注意:这个监听器可不是用来监听系统资源的元件。相当于日志的展示。
Jmeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些元件来驱动处理一个测试。
10、取样器(sample)
取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter原生支持多种不同的sampler,如HTTP Reauest Sampler、FTP Request Sample、TCP Request Sampler等,每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。
11、逻辑控制器
逻辑控制器,包括两类元件,一类是用于控制test plan(测试计划)中的sampler(取样器)节点发送请求的逻辑顺序的控制器,常用的有 如果(IF)控制器、switch Controller、Runtime Controller、循环控制器等。另一类是用来组织可控制sampler(取样器)节点的,如事务控制器、吞吐量控制器。