首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jmeter下载安装初使用

1、下载

下红色那个就好了

下载完成直接解压就好了

如果过去了扫最后的二维码获取

注意:官网最新的是3.3版本的 对应的是jdk1.8的版本 打开报errorlevel =1 多半是jdk版本问题

2、配置环境变量

桌面右键我的电脑-高级系统设置-环境变量在系统变量里边点新建

上边填上JMETER_HOME 下边填上你jmeter所在的位置,不要照抄图上的 图上的是我的jmeter安装的位置 不是你的

然后再打开系统变量里边的ClassPath,在最后添加上

;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar

这一串,不要问为什么添加上就可以了,这一段可以直接复制

3、打开jmeter

Jmeter是没有.exe文件的,打开jmeter需要找到jmeter的bin目录下的jmeter.bat 然后会出现一个类似dos的东西,安静的等五秒钟界面就出来了~

当然,一般我是不乐意等的,所以是一般会直接点jmeterw.bat这个东西点一下就好了,是不是爽歪歪

4、简单认识认识jmeter

我们直接打开的jmeter是这个样子的

上边的文件、编辑、search、运行、选项、帮助没什么好说的,有不懂的扫最后的二维码问我。我们来说说中文字下边的那一排图标

从左到右

新建一个空白的测试计划

模板

打开(之前的测试用例什么的)

保存测试计划

将你选中的部分保存起来

剪切

复制

粘贴

打开全部

收起全部

切换

启动

开始不停顿

停止

关闭

远程启动全部

远程停止全部

远程关闭全部

清理

全部清理

搜索

重置搜索

函数对话框

帮助文档

然后是下边的内容:

测试计划:测试计划是整个测试的起点,要用jmeter做测试,首先就得有个测试计划

右边的名称、注释自己写就好了~

用户自定义变量:顾名思义,就是用户自己定义的变量~如果在这里定义,在之后可以引用

Add directory or jar to classpath:添加目录以及jar包

你以为就到此为止了?天真!!

右键测试计划,我们很容易就能找到一个我们非常非常常用的东西,线程组

线程组里也有很多东西,名称和注释就不说了看看下边的线程属性

线程数:这个是设置发送请求的用户数量,在我们并发的时候,比如我要并发一百,这里就填个一百,jmeter就会模拟一百个用户发送请求拉

Ramp-up period(in second):这个是线程间的时间间隔,告诉我们现场在多少时间内启动

循环次数:这个有一个永远,如果我们勾选了这个,就会不断的发送请求,如果不想一直执行,就在后边填入你想循环的次数就好了,填几就循环几次。

delay thred ceration until needed:直到需要时创建线程 可以延迟线程的创建 减少不必要的资源损失

调度器:调度器一般是在测试稳定性这方便使用,使用调度器的前提是循环次数设置为永远,这里边有个优先级要说,循环次数>持续时间>结束时间,开始时间未到,到了开始时间后,再延迟指定的时间后自动开始;如果开始时间未过去时间或者开始时间未填,立即开始;何时结束:先判断循环次数是否用完,如果没有用完,再检查持续时间是否用完,如果无持续时间,以结束时间为准。

接下来,我们右键线程组,添加,就会出现一大堆东西,如果我全部写完,我得死!所以我选择写一些主要的,常用的。至于其他的,我是没打算写了,不不不,是以后再写

逻辑控制器:循环就是逻辑的一种啊~自带的就有十七种循环,自己去一个个实验吧

配置元件:这个是常用到的,一般来说是用来初始化默认值和变量,让后边的采样器使用的

定时器:这可是个好东西,一般用来设置延迟,或者设置同步,比如说上一个请求完了,设置个时间,再执行下一个,或者在我们做并发的时候,设置定时器,等待所有线程都启动起来。

前置处理器:在请求发送之前,对请求做一些特殊的处理

Sampler:这个是重点。取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,后边我会讲一个简单的http 请求,这里先不细讲

后置处理器:在请求发出后,对服务器反馈的响应进行处理

断言:重点,断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。

监听器:重点,它是用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件

5、简单的使用jmeter

先看图

从左边我们可以看到,我们添加了一个线程组之后,又在线程组后边添加了一个http请求,之前我们就说过,sampler是对服务器发送请求的,那么这里 我们对服务器发送的就是一个最常用的http的请求。

然后我们看右边,名称和注释不解释。

协议:因为我们添加的是http的请求,协议默认就是http,我们这里使用的是一个https的协议,所以我们填上https。

服务器名称或ip:这个没什么好解释的

端口号:也没什么好解释的,就是端口号

方法:请求的方法,一般用到get,post,put就差不多了

路径:路径就是地址咯,服务器名称和端口后边,参数前边的那一串

同请求一起发送的参数:需要带参数的时候,就可以写在这里,参数比较多的情况下看起来清楚明了,当然,其实你把参数写在路径里边也是可以的

响应断言,断言的一种,也是比较常用的一种

Apply to:作用范围,一般来说我们选第一个 main sample only就好啦~ 这里主要知道 main

Samp 和sub-sample 的区别就好了,一般来说我们一个请求触发多个服务器才会用到sub-sample。

响应字段:响应文本,Document(Text),url样本,响应代码,响应信息,Response Header,ignore status

响应文本: 服务器响应文本,一般普通http响应,都勾选这个。

Document(Text):一切Apache Tika 支持服务器响应,包括文本响应,还支持 PDF, Office, Audio,

url样本:是对sample的url进行断言。如果请求没有重定向(302),那么就是这个就是请求url。 如果有重定向(且跟随重定向),那么url就包含请求url 和 重定向url

响应代码:http响应代码,如101,200,302,404,501等。但当我们要验证404,501等http响应代码时,需要勾选“ ignore status”。因为当http 响应代码为400,500时,jmeter默认这个请求时失败的。

模式匹配规则:这个就不多解释了,包括,匹配,一般用这两个就号了

要测试的模式:我觉得这个可能是翻译的问题这里应该是要匹配的东西才对,在这里写你的断言内容

然后我们点上边的三角形开始按钮就可以了开始调用这个接口进行测试了

等服务器一顿操作之后,我们就可以查看我们这次接口测试的结果了

我们这里有三个监听器,分别是断言结果,结果树,聚合报告。

断言结果

是不是发现这里除了http请求的名称之外什么都没有? 那是因为jmeter 不显示成功的,但是如果出错了,就会出现错误信息,那么我们写一个错误的断言,很多2,再点一下开始就会出现如下图的结果

结果树

如果你设置了断言,结果树中也是和断言结果一样,只显示错误的,不显示成功的。

在结果树中,我们可以看到有三个值得我们关注的信息,取样器结果,请求和响应数据。

首先是取样器结果,这里显示的信息很多,值得我们关注的一般有信息头,响应数据大小,响应时间,找几个重要的翻译一下,为什么不全部翻译?我懒啊

Thread Name: 线程组名称

Sample Start: 启动开始时间

Load time: 加载时长

Latency: 等待时长

Size in bytes: 发送的数据总大小

Headers size in bytes: 发送头大小

Body size in bytes: 发送数据的其余部分大小

Sample Count: 发送统计

Error Count: 交互错误统计

Response code: 返回码

Response message: 返回信息

Response headers: 返回的头部信息

请求

这个没什么说的,就是你发送的请求数据、请求的方式

响应数据

这个就是服务器给我们返回的结果,上边的断言可以匹配这里边的内容

聚合报告:这个是重点,是我们进行结果分析的重要依据

Label:每个JMeter的element的Name值。例如HTTP Request的Name

#Samples:发出请求总数量。

Average:平均响应时间(单位:ms)这个单位是毫秒,一千毫秒等于一秒。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间

Median:中位数,也就是50%用户的响应时间

90%Line:90%用户的响应时间

95%Line:95%用户的响应时间

99%Line:99%用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量。默认情况下标示每秒完成的请求数(具体单位如下图)

KB/sec:每秒从服务器端接收到的数据量

如果你仔细看了,就会发现,虽然我只点了两次开始,一次正确的断言,一次错误的。而结果出现了四个,那是因为我在线程组里边设置了线程数为2

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171213G0ETLP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券