jmeter安装和基本使用教程
jmeter最新版本下载地址:
https://jmeter.apache.org/
jmeter历史版本下载地址:http://archive.apache.org/dist/jmeter/binaries/
百度云盘下载地址:
链接:https://pan.baidu.com/s/1eF6uA0b2YcO89_w5EKcP2w
提取码:a9eg
一、环境准备:
1、jmeter依赖jdk运行环境,所以首先需要安装jdk,并配置环境变量(下载jdk及配置java环境变量:https://www.cnblogs.com/lishiqun/p/15095459.html)
注意:开始->运行->然后输入cmd->进入命令行界面,输入java -version , 出现以下信息就是此电脑已安装了JDK
二、下载安装jmeter及配置环境变量
1、下载jmeter
在Apache官网下载jmeter,解压缩,
下载完成后,如图我保存到E:\apache-jmeter-5.4.1
2、配置jmeter环境变量
1配置JMETER_HOME
JMETER_HOME= E:\apache-jmeter-5.4.1 (就是jmeter保存的路径)
2配置CLASSPATH
CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
(这个复制上去就ok)
3配置系统变量path
在用系统变量path后面加上%JMETER_HOME%\bin 如图 注意是系统变量
三、启动jmeter方法:
1在cmd输入jmeter 直接打开
如果命令行输入Jmeter提示不是内部或外部命令,需要在环境变量path中添加jmeter的bin目录绝对路径
我的电脑 》 右击 》属性 》 高级系统变量 》 环境变量 》 path 》 后面加上bin目录的绝对路径【如E:\apache-jmeter-5.4.1\bin】,保存
再次打开命令行cmd 》 输入Jmeter可以打开Jmeter了。
2双击bin目录下jmeter.bat即可启动jmeter
也可以把jmeter.bat放在桌面的快捷方式
四、测试实例
目标:查询全国和省份天气
第一步:打开全国天气:http://flash.weather.com.cn/wmaps/xml/china.xml
第二步:打开省份天气:http://flash.weather.com.cn/wmaps/xml/shanghai.xml
第一步:新建一个线程组
必须新建一个线程组, jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为20*10=200 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
调度器:通过调度器,可以设置压测具体多少时间10分钟或者半小时都可以
勾选永远,再勾选调度器,再设置持续时间设置(单位秒)
第二步:新建一个HTTP请求
比如我要发送一个Get 方法的http 请求:
http://flash.weather.com.cn/wmaps/xml/china.xml
可以按照下图这么填
再新建一个省份天气的请求,如图
第三步:新建一个HTTP信息头管理器
第四步:添加查看结果树
是用来看运行的结果的
第五步:运行测试,查看结果
到这里。 我们已经成功运行起来了。
中文有乱码解决办法:Jmeter响应内容显示乱码问题的解决办法
第六步:添加断言
然后添加一个断言用来查看执行的结果.
运行后, 如果HTTP返回结果中没有包含期待的字符串。 那么test 就会Fail.
第七步:使用用户自定义变量
我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city. 使用它的时候用 ${city}
我们添加一个变量: city
然后在Http省份请求中使用这个变量
查看结果树
第八步:关联
所谓关联, 就是第二个Requst, 使用第一个Request中的数据
我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用
现在第二个请求配置变量 ${city}
${city}中的数据, 是从上一个请求正则表达式中提取来的
到这, 脚本就全部写好了, 运行下,看下最终结果