文章已迁移到CSDN:博客地址:https://blog.csdn.net/xiaomacaicai/category_11196823.html
通过阅读以下内容,你可以:
- 独立完成Jmeter的部署
- 了解Jmeter的主要功能
- 完成第一个Jmeter的脚本
- 运行它!
需要的准备知识: - 你可以部署JAVA运行环境,只要JRE就好;
- 你了解web端性能测试的基本原理,至少得知道http请求url、报文、响应
Hello JMeter
JMeter本身是Apache的一款性能测试工具,支持多个网络协议;
它提供了录制功能,可以录制请求;
你可以用他来做http接口自动化测试;
它需要Jdk运行环境,所以它是跨平台的,你可以在windows和Linux上运行它
你可以在JMeter里直接写java代码,然后运行JAVA代码
部署安装Jmeter
首先安装JDK 8,安装和配置的过程就不写了哈,地球上玩JAVA的应该都会了。
[Jmeter]的下载地址https://jmeter.apache.org/download_jmeter.cgi
目前最新的版本是Apache JMeter 5.4.1,需要JDK1.8
如果是windows,则直接点击[链接]https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.4.1.zip,
下载后解压得到JMeter目录,双击目录下的bin/jmeter.bat,就可以直接启动JMeter,启动界面如图:
能看到这个界面,你的JMeter就可以用了,很简单吧。JMeter默认打开后是英文界面,可以通过Options-Choose language,选择简体中文
初步认识JMeter
JMeter左侧有一个TestPlan的根节点,你可以理解一个JMeter测试的所有资源都在TestPlan下,你要做的任何接口测试、性能测试,都必然属于某一个TestPlan。同时一个TestPlan可以包含其他的TestPlan,方便脚本隔离,目前先有个概念就好,具体的应用场景之后会再讲。
TestPlan下你可以添加线程组,你把TestPlan理解成一次系统测试的话,线程组你可以类比成是系统测试下的测试用例,每个测试场景都是一个线程组(当然也可以是一个子TestPlan);
线程组下你可以添加线程,每个线程你可以理解是一个具体的操作。线程里包含服务的url请求和参数。
举个具体的例子,假设你要做一次性能测试,测试场景包含订单查询和订单支付两个场景,那么:
- 你可以建一个TestPlan,名称就叫订单系统并发测试;
- 在场景下你可以新增两个,分别是订单支付、订单查询,可以起中文的名字;
- 在订单支付"的线程组下,你可以新增三个HTTP请求,分别是用户登录、订单查询、用户注销;
-
同样的操作,你可以新增一个订单查询的线程组
最后形成的脚本应该类似是这个样子:
测试脚本.png
啰嗦了这么半天,只是希望那些第一次接触JMeter的朋友能对JMeter有一个基本的认识。以后无论你是做什么样的性能测试,你写出来的脚本层次结构都跟它差不多。都是测试计划——线程组——http请求这种的
1.在TestPlan上右键——添加——线程(用户)——线程组,这样你就为TestPlan增加了一个线程组
- 在线程组上右键——添加——取样器——HTTP请求,你可以添加一个Http请求
其他类型的内容,会在以后的文章里逐步介绍。不要心急,每天学习15分钟,一个月以后你就是大拿,你只需要坚持下来。
第一个JMeter脚本
JMeter的基本操作暂时先讲这么多,因为他已经足够让我们产生第一个JMeter脚本,一个可以并发的性能测试脚本。
这里我们用简书为例,为什么用简书呢,没啥原因。。有的人可能觉得用百度简单,其实百度首页别看只有一个搜索框,写他的性能测试脚本其实不简单,特别是对于举例来说一点都不合适。
获取http请求和报文
打开谷歌浏览器,按f12调出开发者工具,切换到Network页签,勾选“Preserver log",作用是保留所有请求,防止页面重定向有些请求就看不到了,,然后输入简书网址,此时你能看到F12中的请求,如图:
标注的两部分内容,对于本次足够用了。你可以知道简书访问的url请求是https://www.jianshu.com/,请求类型是get请求,端口是80。
创建脚本
由于目前的脚本并不复杂,我们直接手写就行。
首先在测试计划下新增一个线程组,名称改为首页加载测试,其他默认;
在”首页加载测试“的线程组下,新一个Http请求,
名称:”打开简书首页“,
协议:http,注意实际访问地址是https,我们的脚本里写上http,因为你直接写https是会报错的。以后会JMeter如何进行https的测试
服务器名称或ip:www.jianshu.com,
路径:/,注意是一个反斜杠,因为我们访问的是首页。
http请求:get,端口默认不写就是80,但是仍然建议写上80
为测试计划添加一个结果查看器,方便查看结果:测试计划上右键——监听器——察看结果树。完成后的脚本如下
Hello JMeter
在完成的脚本上点击运行按钮,此时你能看到脚本很快运行结束,然后在察看结果树中有了新的运行结果。如图:
result.png
恭喜,你的第一个JMeter脚本可以运行了,啰嗦了半天,其实真正操作起来就一两分钟的事情。这里要特别注意:
- 我们只写一个Http请求,但是在结果察看器里出现了两个Http的结果,那是因为我们的协议是http而不是https,简书用301将Http请求强制转换成了https的。很多的网站将http强转成https访问,而不是直接禁止Http访问,这其实也是一种通用的做法。
- 在取样器结果中有Response code,所有2xx和3xx的返回码我们都可以接受,所有4xx和5xx的我们都需要排查原因,因为那意味着服务器不能正常返回响应结果(404需要与研发确认是否为并发导致)
现在,你已经迈出JMeter的第一步了。
网友评论