目录
[3.2逻辑控制器(Logic Controllers)](#3.2逻辑控制器(Logic Controllers))
[3.4配置元件(Configuration Elements)](#3.4配置元件(Configuration Elements))
[3.7前置处理器(Pre- processors)](#3.7前置处理器(Pre- processors))
[3.9测试计划(Tset Plan)](#3.9测试计划(Tset Plan))
[3.10线程组(Thread Group)](#3.10线程组(Thread Group))
一、Jmeter的介绍
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、 数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的 强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
二、Jemeter的特点
- 能够对HTTP和FTP服多种服务类型进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC);
- 完全可移植性和100%的纯Java;
- 支持通过录制回放的功能获取测试脚本
- 完全多线程框架,允许通过多个线程并发取样和通过单独的线程组队不同的功能同时取样;
- 各种负载统计表和可链接的计时器可供选择
- 数据分析和可视化插件提供了很好的可扩展性以及个性化;
- 具备提供动态输入到测试的功能
- 支持接口测试,压力测试,性能测试等多功能。其中接口测试的简单操作包括做 http 脚本(发 get/post 请求、加 cookie、加 header、加权 限认证、上传文件)、做 webservice 脚本、参数化、断言、关联(正则表达式提取器和处理 json-json path extractor)和 jmeter 操作数据库等等。
- 具有扩展性:①脚本化的采样器【BeanShell、Groovy】、②随意增删的采样器、③负载统计信息可以增删定时器、④数据分析和可视化插件提供了出色的扩展性和个性化、⑤jmeter自带方法可以向测试计划提供动态输入或数据处理能力、⑥通过针对Maven,Gradle和Jenkins的第三方开源库轻松进行持续集成。
三、Jemter相关概念
3.1采样器(Samplers)
用户可以通过它向服务器一个特定发送请求,采样器会在超时前等待服务器响应。
3.2逻辑控制器(Logic Controllers)
用户可以通过它来控制脚本执行顺序。
3.3监听器(Listeners)
用户可以通过它来收集测试结果信息,并以用户指定方式加以展示。
3.4配置元件(Configuration Elements)
用户可以通过它来设置一些测试脚本公用的信息。
3.5断言(Assertions)
用户可以通过它来判定服务器实际返回值与期望是否相符。
3.6定时器(Timers)
用户可以通过它来保存一些与时间相关的信息。
3.7前置处理器(Pre- processors)
任何采样器执行前都要先执行前置处理器。
3.8后置处理器(Post-processors)
任何采样器执行后都要执行对应的后置处理器。
3.9测试计划(Tset Plan)
用户可以在测试计划中设定关于测试脚本的一些基础设置。
3.10线程组(Thread Group)
线程组定义了一个虚拟用户池,其中每一个虚拟用户都使用同样的测试脚本。
3.11工作台(WorkBench)
用户可以通过它来保存暂时不使用的测试元素。
四、Jemter目录结构
4.1 bin
bin目录是存放JMeter的主jar包、启动脚本和配置文件等。
4.2 docs
该⽬录下存放的是Jmeter官⽅的API⽂档,主要是⽤于⼆次开发。
4.3 extras
目录下的文件提供了对ant的支持,可以利用ant来实现自动化,例如批量执行脚本,产生html报告等,运行Jmeter的时候会产生jtl文件,把他放到此目录下,运行ant- Dest = 文件名,repot就可以生成测试统计报表。
4.4 lib
该⽬录是Jmeter启动时的默认的classpath路径。意味着在使⽤Jmeter进⾏测试的过程中所需要import的类或者jar包都必须存放在该⽬录下。
4.5 licenses
jmeter证书目录。
4.6 printable_docs
用户使用手册,例C:\apache-jmeter-3.0\printable_docs下的index.html。
4.7 LICENSE
JMeter 许可说明。
4.8 JMeter 简单信息说明
JMeter 简单信息说明。
4.9 JMeter 官方基本介绍
JMeter 官方基本介绍。
五、JMeter测试结果字段含义
- **Label:**定义HTTP请求名称
- **Samples:**本次测试总请求数
- **Average:**平均响应时长
- **Median:**中位数,即50%用户的响应时间
- **Min:**最小响应时间
- **Max:**最大响应时间
- **Error%:**错误请求的数量
- **Throughput:**每秒完成的请求数(Request per Second)