JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。
相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。
线程组(多并发基础)
普通线程组用于封装测试流程,可设置多线程,循环等
setUp Thread Group 预测试操作,测试前执行的定期线程组
-
tearDown Thread Group 执行测试后动作,测试结束后执行的定期线程组
配置元件
参数化设置
jdbc连接配置
-
http信息管理
Jmeter七大组件简介
1、取样器
-
向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMETER原生支持多种不同的sample,比如 http请求、FTP请求等,每种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。
2、断言
-
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
3、逻辑控制器
-
可进行子业务和分支业务封装,增加判断条件循环等
4、前置处理器
多用于环境复归
可修改取样器的内容
-
在不同线程使用不同变量值
5、后置处理器
- 多用于参数传递
-
提取参数并输出日志等
6、定时器
-
加等待时间
7、监听器
- 生成各种形式的测试报告
-
发送邮件等
Jmeter元件执行顺序
在同一作用域名范围内,测试计划中的元件按照以下顺序执行:
①配置元件
②前置处理程序
③定时器
④取样器
⑤后置处理程序
⑥断言
⑦监听器