Jmeter 目录及配置文件说明
一、 Jmeter目录介绍 /bin – 可执行文件、配置文件 /bin/examples - CSV样例 /bin/report-template – 报告模板 /bin/templates – 脚本模板 /doc – Jmeter API文档 /extras – 扩展插件目录,提供了对Ant的支持 /lib – 插件目录,存放Jmeter所依赖的外部jar /lib/ext – Jmeter依赖的核心jar包,插件包 /lib/junit – junit测试脚本 /Licenses – 许可证书 /Printable_docs – 用户使用手册
二、 Jmeter配置文件说明 jmeter.bat jmeter.properties
三、 Jmeter各大组件介绍说明 3.1 测试计划Testplan ◎测试的起点 其他所有组件的容器 用来描述性能测试 所有内容基于一个测试计划
3.2 线程组thread group ◎测试必备组件 ◎用来模拟用户并发 ◎每个任务通过线程来处理
◎线程数:请求并发的数量 ◎Ramp-Up Period(in seconds):在多少秒内创建线程数中定义的所有线程。 每秒并发数=线程数/RUP ◎循环次数:当前线程组中的测试脚本循环运行次数
3.3 取样器 sampler ◎发送请求到服务器,并等待服务器的响应 ◎按照其在测试树中的顺序去执行 ◎受逻辑控制器控制 ◎支持多种协议 ◎支持二次开发
3.4 逻辑控制器 LogicController ◎控制sampler发送请求的逻辑、顺序 ◎控制sampler本身 ◎模拟复杂逻辑请求
常用: ForEach 控制器 如果(IF)控制器 随机控制器 事务控制器 吞吐量控制器
3.5 配置原件Config Element ◎静态数据配置 ◎配置默认属性、信息 ◎不会向服务器发送任何请求 ◎仅对所在测试树分支有效 ◎放在sampler之前
●一个例外 –用户自定义变量(Uer Defind Var iables) 此组件无论放在哪里,它定义的变量都会被整个线程所共享
3.6 定时器Timer 应用 思考时间:定时器、随机定时器 集合点:Synchronizing Timer
3.7 前置/后置处理器 ◎前置处理器 发送请求(Request)前对即将发出的请求进行特殊处理 如:Sample Timeout
◎后置处理器 对采样器发出请求后得到的服务器响应(Response)进行处理 如:正则表达式提取器
3.8 断言Assertions ◎判断取样器是否正常工作 ◎判断请求响应是否正确 ◎判断结构是否符合预期 ◎相当于LR的检查点 ? ●常用: Jp@gc – JSON Path Assertion 响应断言 断言持续时间
3.9 监听器Listener ◎收集整理测试结果 ◎将测试结果数据进行处理并展示 ◎生成XML、CSV等形式的文件供后续分析
●常用: 图形结果 察看结果树 聚合报告 用表格察看结果 保存响应到文件
四、 组件执行顺序 配置元件(Config Element) 前置处理器(Pre Processors) 定时器(Timer) 取样器(sampler) 后置处理器(Post Processors,只在有结果可用情况下执行) 断言(Assertions,只有在结果可用情况下执行) 监听器(Listener,只有在结果可用情况下执行)
五、 组件作用域 靠测试计划的树型结构中元件的父子关系确定 原则: ◎采样器(sampler): —元件不和其它元件相互作用,因此不存在作用域的问题 ◎逻辑控制器(Logic Controller): —只对其子节点中的取样器和逻辑控制器作用 ◎除采样器和逻辑控制器元件外,其他6类元件,如果是某个sampler的子节点,则该元件只对其父子节点起作用。 ◎除采样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)
|