背景
为了提升专业技能,学习jemeter最后进行压力测试,整理一下自己的学习笔记
名词解释
1.test plan
相当于一个project
2.threads(users) 线程
Thred Group:添加使用的线程,一个线程组可看作一个虚拟用户组,其中每一个线程都对应为一个虚拟用户
setup Thread Group:可用于执行预测试操作。即测试前进行定期线程组的执行(初始化测试环境)
tearDown Thread Group:可用于执行测试后动作。即执行测试结束后执行定期的线程组(清除信息的脚本块)
3.test fragment 测试片段
一般是不被执行的,除非它是一个模块控制器或者被控制器所引用时才会被执行
4.控制器
控制器有两只:sampler 取样器、logic Controller 逻辑控制器
1,取样器
是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler
每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求
2.逻辑控制器
一类是控制Test Plan中Sampler节点发送请求的逻辑顺序控制器,常用的有:If Controller、Swith Controller、Loop Controller、Random Controller等
另一类是用来组织和控制Sampler节点的,如Transaction Controller、Throughput Controller等
5. 监听器 Listener
对测试结果进行处理和可视化展示的一系列组件,常用的有图形结果、查看结果树、聚合报告等
6. 配置原件 config Element
7.定时器(Time)
1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面);
2、当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;
3、如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入;
4、如果希望在sampler执行完之后再等待,则可以使用Test Action
8.断言(Assertion)
用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致
使用断言的方法:
1)在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。
2)添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;
9.前处理器(Pre Processors)
用于在实际请求发出之前对即将发出的请求进行特殊处理。
例如:Count处理器可以实现自增操作,自增后生成的的数据可以被将要发出的请求使用,而HTTP URL Re—Writing Modifier处理器则可以实现URL重写,
当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求实际的sessionID。
10.后处理器(Post Processors)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似loadrunner中的关联)。
例如:Regular Expression Extractor用于提取响应数据中匹配某正则表达式的数据段,并将其填充在参数中,Xpath Extractor则可以用于提取响应数据中通过给定Xpath值获得的数据。。。
元件的作用域
其中,sampler(取样器)是不与其他元件发生交互的作用的元件,Logic Controller(逻辑控制器)只对其子节点的sampler有效,而其他元件需要与sampler等元件交互
config Elements(配置元件):影响其范围内的所有元件
pre-processors(前置处理器): 在其作用范围内的每一个sampler元件之前执行
timer(定时器):对其范围内的而每一个sampler有效
post-processors(后置处理器):在其作用范围内的每一个sampler元件之后执行
assertion(断言):对其作用范围内的每一个sampler元件执行后的结果执行校验
listener(监听器):收集其作用范围内的每一个sampler元件的信息并且呈现出来
网友评论