【安全测试】Jmeter使用基础

Jmeter基于Java的压力测试工具,apache组织开发的。可以进行静态和动态资源测试(文件、perl脚本、数据库和ftp服务器等),同时可以对服务器、网络或者对象模拟巨大的负载,在不同的压力条件下测试系统的强度并分析整体的性能。支持创建断言的脚本验证结果是否符合预期,同时允许使用正则表达式创建断言。这篇文章主要介绍自己实践安装和使用的一些资料,有兴趣的同学可以更加深入的了解。

Jmeter安装

Jmeter是基于java的,因此需要首先安装和配置java环境。java安装过程不详细描述,可以自行百度之。(jmeter3.0版本以上最好安装java1.8以上的版本)

设置java环境系统变量

新建两个变量名及其值:
JAVA_HOME——java安装的jdk安装路径,例如我的安装目录是C:\Program Files (x86)\Java\jdk1.8.0_101
CLASSPATH——java的lib目录,例如;%JAVA_HOME%\lib
验证是否设置成功:打开cmd,输入java -version是否正常返回java版本信息

安装Jmeter和设置环境变量

1)下载jmeter http://jmeter.apache.org/download_jmeter.cgi
选择最新版本下载二进制压缩文件即可

2)安装和设置换环境变量
安装文件下载到本地,解压缩即可。接下来就是设置jmeter的环境变量。
新建JMETER_HOME——jmeter安装文件,解压目录,例如H:\AutoTest\apache-jmeter-3.3
修改CLASSPATH——增加jmeter的相关lib配置,例如;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar

运行Jmeter

jmeter解压缩目录apache-jmeter-3.3\bin下运行jmeter.bat,会弹出图形化界面和调试运行界面。进行测试时,操作图形化界面即可,运行调试界面不要关闭。

Jmeter使用

Jmeter可以添加多种元件,例如线程组、测试段、配置元件、定时器、前置处理器、后置处理器、断言(对结果进行判断)以及监听器。

添加线程组

线程组的设置的主要参数如下:

对线程组的几个参数进行说明和设置:
线程数:线程总数(用户总数,一个用户即一个线程)
Ramp-up Period:达到线程总数的爬坡时间,线程总数/爬坡时间,大概知道每秒建立多少连接请求
循环次数:请求发生的循环次数,线程数*循环次数即此测试计划的连接并发数据。当选择永远时,则停止此测试计划时,线程循环才会停止,否则一直运行下去。
Jmeter是基于线程组的,一个线程代表了一个用户,当需要多少用户并发数据时,就需要对线程组的设置进行修改。

添加HTTP请求

Jmeter可以支持http请求、ftp、数据库等,先介绍http请求的添加和设置过程。Sampler即所有的测试任务。

http请求添加完成后,即可对请求的一些常规参数进行配置。

http请求的参数设置,根据截图清晰明了,主要是针对协议、服务器/IP地址、方法GET/POST等、路径信息。

添加结果查看

结果查看同样是通过线程组添加–监听器,选择综述报告或者结果树模式。下面分别为两种报告的显示情形。支持的报告形式信息很全,可以根据自己需要查看的特点去选择报告的形式和统计结果。

概述结果能够清楚的看到实例的总数(并发总数)以及响应时间的各类统计。

结果树则获取了HTTP请求的响应结果,在响应数据中可以看到服务器返回的响应信息。

数据参数配置

介绍两种常用的参数设置方式。

直接添加参数变量

右键线程组–添加–配置元件–用户自定义的变量,成功添加一个自定义变量。

使用csv数据格式添加变量

Jmeter支持文件转换为csv格式,并且参数自动的实现字典对应。
自定义新建一个txt或者csv文件,按行输入数值,如下图所示,相当于每行对应一组数据,每组数据有两个参数。在http请求中通过对请求进行参数化引用即可。
具体的操作步骤如下:
首先添加csv配置的配置元件

然后在配置元件中导入文件、编码以及设置的字典参数名称

在文件和参数设置完成后,在http请求中就可以对这两个参数进行使用,在本次的实验中,在bing搜索中使用这两个参数组合来进行搜索(自定义变量引用形式一样)。

以上是个人业余时间对Jmeter的学习和试用总结,欢迎有试用经验的同学一起沟通交流。

 

Spread the word. Share this post!

Meet The Author

Leave Comment