进入公司实习,老大教给我的第一个任务就是学习Jmeter,然后给组里的人讲...只能一面懵逼的开始学习.
Jmeter是什么?
我就不用官方的定义了,简单来说就是一个免费开源的软件,用于给服务器进行各种各样的压力测试,经常跟Jmeter一起提到的是lordrunner,那个我没用过就不多说了。Jmeter主要用于压力测试负载测试,也就是测试软件或者代码,接口在高并发的情况下是否会崩溃,能否承载高并发。
Jmeter怎么使用?
Jmeter的使用我打算直接通过一个小例子来讲解它的各个元件的功能。
使用Jmeter进行Web测试:
1、先进行脚本录制:
你要进行自动化测试,肯定需要一个脚本来自动执行,首先就是脚本的录制。Jemeter可以自己手写脚本,也可以录制脚本。
手写脚本:
这个没尝试过...就不讲了。
录制脚本:
推荐使用badboy进行脚本录制
这里贴上badboy和jmeter的下载。Jmeter与badboy下载
badboy的录制很简单。打开badboy,是这样的一个界面:
可以看到上方的小红点,默认是打开的,就是说默认的开始录制了。badboy是内嵌了一个浏览器的,所以是可以直接在里面打开网页的。
这里,我们进行对 www.baidu.com 这个网址进行搜索的压力测试。
所以在网址栏上面输入 www.baidu.com:
红线圈出来的可以看到就是第一步,打开了百度网页。
接着在输入框输入“北京时间”:
可以看到左侧出现了两步。一个是打开百度,一个是输入北京时间并进行搜索。 这样一个简单的脚本就录制成功了。
我们现在可以点击小红点停止录制。如果需要的话也可以点击“playall”来看一下我们录制的脚本。
这里说一下,很多人可能看自己录制脚本的时候会发现有中文乱码的情况,我们可以这样来修改中文乱码:
把utf-8改成gbk就好了。
接下来就可以导出成jmeter文件了。点击file->Export to Jmeter。就可以了。
2、打开Jmeter进行设置:
打开jmeter很简单,下载完以后直接解压出来,然后只需要在bin文件夹下打开jmeter就可以了:
是window的话就打开这个,如果是linux的话打开它上面那个.
打开jmeter以后会出现一个GUI界面。
我们通过文件->打开 来打开我们刚才录制的文件。
大家是不是觉得为什么有不一样的,不用急。
上面的响应断言,断言结果,断言持续时间,Size Assertion,还有下面的监听器,查看结果树,聚合报告,搜索关键字等都是我加上去的。
如果没错的话你们打开就只有三个网址。
接下来我来说一下最常用也是最常见的元件吧:
首先是线程组,线程组其实就是虚拟用户组的意思。
名称,注释你都可以自己写。
线程数:就是你要开多少个线程来测试你的东西。
ramp-up:就是总共需要时间。
循环次数:就是要循环多少次。
比如我这里是 10个线程,ramp-up=1,循环2次。 意思就是要在1s之内开10个线程,然后循环2次。 换而言之,
线程数/ramp-up=每秒钟增加的用户数,线程数*循环次数=运行次数,ramp*循环次数=运行时间
接着我们就可以在线程组下面来添加各种元件来配合我们的测试了。
因为是web测试,所以我们是利用http请求。
右键线程组,添加->sampler->http请求。
添加一个http请求(其实我们刚才已经录制好了脚本,所以此处可以不添加,主要是讲解一下http请求)。
我们打开刚才录制好的输入搜索词 北京时间的http请求,可以看到如上界面。相信大家都懂,就不多说了。
断言:
什么是断言,就是预期值吧。 比如你出题给别人做, 1+1=? 预期值就是2, 如果别人的答案是其他,那么就代表错了。
jmeter支持各种断言,
大家可以都试试。其实大部分都顾名思义。
然后就是监听器了,你需要自己添加一个监听器来查看结果。jmeter最常用的就是查看结果树,聚合报告。
好了,我们设置完成以后,就可以直接运行了。
然后在查看结果树和聚合报告就可以看到结果了。