一、Jmeter的介绍
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux/windows/macos上都可以使用。
jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权 限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等等。
二、安装Jmeter
1、安装Jmeter的前提条件是电脑必须配置好Java的环境变量
检查是否配置了jdk,cmd命令中输入java -version 查看,如果出现版本号就是已经安装并配置了
配置环境变量的步骤:
①、下载并安装jdk
②、右键计算机属性->高级系统设置->系统属性->高级->环境变量->在系统变量中添加如下的变量:
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.8.0_92(jdk安装路径)
变量名:path
变量值:\;%JAVA_HOME%\bin;
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
③、添加完成后点击确定保存,然后打开cmd命令输入java -version查看,出现相应的版本号就是已经配置成功
2、下载好的Jmeter文件夹解压后即可直接使用,在解压后的bin目录下打开jmeter.bat即可使用 3、Jmeter的目录结构
/bin 目录(常用文件介绍) examples :目录下包含 Jmeter 使用实例 ApacheJMeter.jar : JMeter 源码包 jmeter.bat : windows 下启动文件 jmeter.sh : Linux 下启动文件 jmeter.log : Jmeter 运行日志文件 jmeter.properties : Jmeter 配置文件 jmeter-server.bat : windows 下启动负载生成器服务文件 jmeter-server : Linux 下启动负载生成器文件 /docs 目录 ——Jmeter 帮助文档 /extras 目录 —— 提供了对 Ant 的支持文件,可也用于持续集成 /lib 目录 —— 存放 Jmeter 依赖的 jar 包,同时安装插件也放于此目录 /licenses 目录 —— 软件许可文件,不用管 /printable_docs 目录 ——Jmeter 用户手册 三、Jmeter的基本用法 1、创建一个线程组 2、设置线程数 作用 : 模拟虚拟用户
进程: 一个正在执行的程序对应一个进程
线程: 一个进程有多个执行线程
线程组: 按照线程性质对线程分组
三者关系: 一个进程有多个线程组,一个线程组有多个线程
①线程组主要包含三个参数:线程数、准备时长 (Ramp-Up Period(in seconds)) 、循环次数。
② 线程数:虚拟用户数。一个虚拟用户占用一个线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
③ 准备时长(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为 20 ,准备时长为 10
,那么需要 10 秒钟启动 20 个线程。也就是每秒钟启动 2 个线程。
④ 循环次数:每个线程发送请求的次数。如果线程数为 20 ,循环次数为 100 ,那么每个线程发送
100 次请求。总请求数为 20*100=2000 。如果勾选了 “ 永远 ” ,那么所有线程会一直发送请求,一到选择停止运行脚本。
⑤调度器:设置线程组启动的开始时间和结束时间 ( 配置调度器时,需要勾选循环次数为永远 )
⑥ 持续时间(秒):测试持续时间
⑦ 启动延迟(秒):测试延迟启动时间
3、sampler(采样器)
作用:向服务器发送请求,记录响应信息,记录响应时间的最小单元(http,https,ftp,jdbc等) 一个 HTTP 请求有着许多的配置参数: 名称:本属性用于标识一个取样器,建议使用一个有意义的名称。 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。 服务器名称或 IP : HTTP 请求发送的目标服务器名称或 IP 地址。 端口号:目标服务器的端口号。 方法:发送 HTTP 请求的方法,可用方法包括 GET 、 POST 、 HEAD 、 PUT 、 OPTIONS 、 TRACE 、 DELETE 等。 Content encoding :内容的编码方式,默认值为 iso8859 路径:目标 URL 路径 ( 不包括服务器地址和端口 )
|