Jmeter 测试和压测工具

2019-08-14 0 By admin

Apache JMeter是Apache组织开发的基于Java语言的测试工具和压力测试工具。
它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。
JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能并可以提供分析结果的图形展示。

一、补充:断言(编程术语)

断言是编程术语,表示为一些布尔表达式。程序员相信在程序中的某个特定点该表达式值为真;可以在任何时候启用或者禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。
使用断言可以创建更稳定、品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。单元测试必须使用断言(Junit/JunitX)。

二、下载安装

下载地址:https://jmeter.apache.org/
因为 Jmeter 是使用Java语言开发的,所以运行中依赖JDK环境;最先版本Jmeter 要求java 8+。如果本机已经安装完成JAVA,则下载完成后,解压就可以使用。
目录结构
backups/ 备份
bin/ 执行目录
extras/ 扩展目录
lib/ 依赖库
licenses/ 此目录结构包含非ASF软件的许可证。
printable_docs/ 帮助文档
docs/ 帮助文档引用的CSS和图片

三、Jmeter 基础上手操作

Jmeter 测试软件的基本原则是:通过 Jmeter 创建网络代理(Http代理)的功能,录制连接到此代理的浏览器上的访问记录。
直接运行bin 目录下的ApacheJMeter.jar 文件,就可以启动Jmeter了。

四、Jmeter 录制记录实践

打开Jmeter软件后,Jmeter默认会创建一个测试计划。后面我们要创建的各种元件等都是在测试计划下的。
1、新建一个Thread Group(线程组)
在“测试计划”中必须新建一个Thread Group, jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
2、添加“配置元件”
在“线程组”中添加3个配置元件;Http Cookie 管理器、Http 请求默认管理器、Http 信息头管理器。
Http Cookie 管理器可以使所有录制的请求,共用Cookie,解决登陆状态丢失的问题。
Http 请求默认管理器可以设置请求的默认域名,这样录制的请求中,就不需要记录域名信息了。
Http 信息头管理可以添加自定义的Header。
3、添加“http代理服务器”
在“测试计划”中创建“非测试元件”中的”http代理服务器”,即创建一个Http代理服务;供浏览器添加网络代理使用。
4、添加“录制控制器”
Http 代理服务器配置完成后,浏览器就可以设置使用这个代理服务;这样浏览器的所有请求,都会通过Jmeter服务。
这时我们在”线程组“中添加一个”逻辑控制器“的”录制控制器“用来录制所有经过的请求信息。
以上配置完成后,在浏览器上访问页面;就可以在Jmeter中看到录制的请求信息了。