Apache JMeter是Apache组织开发的基于Java的压力测试工具。
JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
JMeter的特点能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC);
完全的可移植性和100%纯java;
完全多线程框架允许通过多个线程并发取样和通过单独的线程对不同的功能同时取样;
各种负载统计表和可链接的计时器可供选择;
数据分析和可视化插件提供了很好的可扩展性以及个性化;
具有提供动态输入到测试的功能。
JMeter下载与安装前置条件:安装好jdk;
JMeter下载地址:
https://jmeter.apache.org/download_jmeter.cgi
注:Windows版本下载zip,Linux版本下载tgz,一般下载Binaries,Source含有源码;
一般启动:解压,bin目录里的jmeter.bat即可启动;
服务器模式启动:jmeter-server.bat,允许在远程节点上以服务器模式运行jmeter,并通过jmeter gui来控制。
JMeter工作原理Jmeter可以作为web服务器与浏览器直接的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。这与LoadRunner的工作原理基本一致。
在正式使用Jmeter之前,还是有必要先了解JMeter的常见的目录结构的~
- bin–可执行文件目录
-
examples:打开里面是一个csv样例
-
jmeter.bat:windows的启动文件(注:可以手动去配,但是其中heap最多设置 为物理内存的一半,默认设置为512M,如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出。)
-
jmeter.log :jmeter运行日志文件
-
jmeter.sh:linux的启动文件
-
jmeter.properties:系统配置文件,有一个属性log_level.JMeter,可以设置改变日志详细度,默认是info,可改为debug。
-
jmeter-server.bat:windows分布式测试要用到的服务器配置
-
jmeters-server:linux分布式测试要用的服务器配置
其中系统配置文件中的SSL设置重点关注如下几个:
-
https.default.protocol=TLS //指定HTTPS协议层
-
https.default.protocol=SSLv3 //指定SSL版本
-
https.socket.protocols=SSLv2Hello SSLv3 TLSv1 //设置启动的协议
-
https.use.cached.ssl.context=true //缓存控制,控制SSL是否可以在多个迭代中重用
2.docs目录–JMeter文档目录
3.extras目录–扩展插件目录
提供了对Ant的支持,可以使用Ant来实现自动化测试,例如批量脚本执行,产生html格式的报表等。测试运行时,可以把测试数据记录下来,jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行"ant -Dtest=文件名 report",就可以生成测试统计报表。
4.lib目录–包含JMeter依赖的相关文件
lib中ext子目录是Jmeter依赖的核心jar包,ApacheJMeter_core. jar、ApacheJMeter_java.jar在写client端需要引用,JMeter插件包也在此目录下。
lib中junit子目录是存放junit测试脚本的。
用户扩展所依赖的包直接放到lib下即可,不要放到ext下。
5.licenses目录–jmeter证书目录
6.Printable_docs目录
usermanual子目录下是jmeter用户手册,尤其是component_reference.html是最常用的核心元件帮助手册。
JMeter VS LoadRunner下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。
希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。
下面是一份配套的软件测试资源包: 上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。
关注我的微信公众号:程序员二黑,即可免费获取!
最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。
精彩推荐在职阿里6年,一个29岁女软件测试工程师的心声
面试常问:TCP 三次握手与四次挥手详解