- 简介
- Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试CS/BS的软件。它可以用来测试静态和动态资源的性能,可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
- 同时,JMeter可以帮助对应用程序进行回归测试。通过你创建的测试脚本和断言来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许调用二次开发的jar包来丰富你的测试场景。
- 简而言之,jmeter就是一个轻量级的测试工具。
- 安装
- 5.0版地址(需要jdk8-9环境)(清华镜像)
- https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/apache-jmeter-5.0.zip
- 官方地址
- http://jmeter.apache.org/
- 使用(windows)
- 启动工具
- 运行 安装目录-->bin-->jmeter.bat,启动后效果如图,启动后不要关闭命令窗口!!!
- 启动工具
-
- 基本功能介绍
- Test Plan(测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的
- 基本功能介绍
-
-
- Threads (Users)线程 用户
-
虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。
1) setup thread group
一种特殊类型的ThreadGroup的,可用于执行预测试操作,执行测试前进行定期线程组的执行。
2) teardown thread group.
一种特殊类型的ThreadGroup的,可用于执行测试后动作,执行测试结束后执行定期的线程组。
3) thread group(线程组).
这个就是我们通常添加运行的线程。通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
-
-
- 控制器
- JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动处理一个测试。
- 取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP、 FTP、TCP 、JDBC等
- 控制器
-
-
-
- 逻辑控制器(Logic Controller)包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器
-
-
-
- 配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制元件则可以修改Sampler的默认数据。
-
-
-
- 定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
-
-
-
- 前置处理器(Per Processors)用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。
-
-
-
- 后置处理器(Post Processors)用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。
-
-
-
- 断言(Assertions)断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
-
-
-
- 监听器(Listener)用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
-
该篇结束,下篇通过一个典型的http请求来演示jmeter功能,见https://www.cnblogs.com/wish5714/p/9722193.html