美文网首页每天15分钟JMeter
每天15分钟JMeter入门篇(一):Hello JMeter

每天15分钟JMeter入门篇(一):Hello JMeter

作者: 小马菜菜 | 来源:发表于2021-07-05 00:54 被阅读0次

    文章已迁移到CSDN:博客地址:https://blog.csdn.net/xiaomacaicai/category_11196823.html
    通过阅读以下内容,你可以:

    1. 独立完成Jmeter的部署
    2. 了解Jmeter的主要功能
    3. 完成第一个Jmeter的脚本
    4. 运行它!
      需要的准备知识:
    5. 你可以部署JAVA运行环境,只要JRE就好;
    6. 你了解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,启动界面如图:

    启动界面.png
    能看到这个界面,你的JMeter就可以用了,很简单吧。JMeter默认打开后是英文界面,可以通过Options-Choose language,选择简体中文

    初步认识JMeter

    JMeter左侧有一个TestPlan的根节点,你可以理解一个JMeter测试的所有资源都在TestPlan下,你要做的任何接口测试、性能测试,都必然属于某一个TestPlan。同时一个TestPlan可以包含其他的TestPlan,方便脚本隔离,目前先有个概念就好,具体的应用场景之后会再讲。
    TestPlan下你可以添加线程组,你把TestPlan理解成一次系统测试的话,线程组你可以类比成是系统测试下的测试用例,每个测试场景都是一个线程组(当然也可以是一个子TestPlan);
    线程组下你可以添加线程,每个线程你可以理解是一个具体的操作。线程里包含服务的url请求和参数。
    举个具体的例子,假设你要做一次性能测试,测试场景包含订单查询和订单支付两个场景,那么:

    1. 你可以建一个TestPlan,名称就叫订单系统并发测试;
    2. 在场景下你可以新增两个,分别是订单支付、订单查询,可以起中文的名字;
    3. 在订单支付"的线程组下,你可以新增三个HTTP请求,分别是用户登录、订单查询、用户注销;
    4. 同样的操作,你可以新增一个订单查询的线程组
      最后形成的脚本应该类似是这个样子:


      测试脚本.png

    啰嗦了这么半天,只是希望那些第一次接触JMeter的朋友能对JMeter有一个基本的认识。以后无论你是做什么样的性能测试,你写出来的脚本层次结构都跟它差不多。都是测试计划——线程组——http请求这种的

    1.在TestPlan上右键——添加——线程(用户)——线程组,这样你就为TestPlan增加了一个线程组

    1. 在线程组上右键——添加——取样器——HTTP请求,你可以添加一个Http请求
      其他类型的内容,会在以后的文章里逐步介绍。不要心急,每天学习15分钟,一个月以后你就是大拿,你只需要坚持下来。

    第一个JMeter脚本

    JMeter的基本操作暂时先讲这么多,因为他已经足够让我们产生第一个JMeter脚本,一个可以并发的性能测试脚本。
    这里我们用简书为例,为什么用简书呢,没啥原因。。有的人可能觉得用百度简单,其实百度首页别看只有一个搜索框,写他的性能测试脚本其实不简单,特别是对于举例来说一点都不合适。

    获取http请求和报文

    打开谷歌浏览器,按f12调出开发者工具,切换到Network页签,勾选“Preserver log",作用是保留所有请求,防止页面重定向有些请求就看不到了,,然后输入简书网址,此时你能看到F12中的请求,如图:

    jianshu.png
    标注的两部分内容,对于本次足够用了。你可以知道简书访问的url请求是https://www.jianshu.com/,请求类型是get请求,端口是80。

    创建脚本

    由于目前的脚本并不复杂,我们直接手写就行。
    首先在测试计划下新增一个线程组,名称改为首页加载测试,其他默认;
    在”首页加载测试“的线程组下,新一个Http请求,
    名称:”打开简书首页“,
    协议:http,注意实际访问地址是https,我们的脚本里写上http,因为你直接写https是会报错的。以后会JMeter如何进行https的测试
    服务器名称或ip:www.jianshu.com
    路径:/,注意是一个反斜杠,因为我们访问的是首页。
    http请求:get,端口默认不写就是80,但是仍然建议写上80
    为测试计划添加一个结果查看器,方便查看结果:测试计划上右键——监听器——察看结果树。完成后的脚本如下

    shijijiaoben.png

    Hello JMeter

    在完成的脚本上点击运行按钮,此时你能看到脚本很快运行结束,然后在察看结果树中有了新的运行结果。如图:


    result.png

    恭喜,你的第一个JMeter脚本可以运行了,啰嗦了半天,其实真正操作起来就一两分钟的事情。这里要特别注意:

    1. 我们只写一个Http请求,但是在结果察看器里出现了两个Http的结果,那是因为我们的协议是http而不是https,简书用301将Http请求强制转换成了https的。很多的网站将http强转成https访问,而不是直接禁止Http访问,这其实也是一种通用的做法。
    2. 在取样器结果中有Response code,所有2xx和3xx的返回码我们都可以接受,所有4xx和5xx的我们都需要排查原因,因为那意味着服务器不能正常返回响应结果(404需要与研发确认是否为并发导致)
      现在,你已经迈出JMeter的第一步了。

    相关文章

      网友评论

        本文标题:每天15分钟JMeter入门篇(一):Hello JMeter

        本文链接:https://www.haomeiwen.com/subject/jltbultx.html