四、Jmeter工具接口脚本编写

[复制链接]
发表于 2025-10-14 21:45:40 | 显示全部楼层 |阅读模式
目次
1 Jmeter工具的差异控件的功能概述
1.1 线程组
1.2 取样器
1.3 设置元件
1.4 监听器
1.5 定时器
1.6 逻辑控制器
1.7 前置处置惩罚器
1.8 后置处置惩罚器
1.9 断言
2 Jmeter写单接口测试脚本
2.1 添加线程组 - 寻常线程组    
2.2 添加取样器
 2.3 添加消息头管理器
 2.3 添加查察效果树
2.4 拓展先容    ​编辑


注:还不会安装的同砚,参考Mac情况下安装JDK与JMeter具体教程-CSDN博客
1 Jmeter工具的差异控件的功能概述

1.1 线程组

        用来性能场景计划的,默认有三种:setup、teardown、寻常线程组。
        另有一些通过插件增长的其他线程组,后续将性能场景计划的时间会讲到。
1.2 取样器

        根据差异的协议,选择差异的取样器
        http取样器用的最多;jdbc哀求毗连数据的;调试取样器用来调试脚本
1.3 设置元件

        整个脚本的公共信息,它的优先级最高,运行时开始实行
        如:信息头管理器、用户界说变量等
1.4 监听器

        从差异维度展示测试的效果
        如:查察效果数、聚合陈诉等。另有一些插件带来的监听器,也是后续讲到
1.5 定时器

        控制运行节奏,比如控制某个哀求耽误发送哀求,不外这个性能测试用的比力少
1.6 逻辑控制器

        控制脚本运行逻辑,比如循环和判断
1.7 前置处置惩罚器

        取样器实行之前,先实行的一类元件。如:用户参数等
1.8 后置处置惩罚器

        取样器实行之后,对数据处置惩罚的一类元件。如:json提取器、正则提取器等
1.9 断言

        用户给接口哀求做效果断言判断是否符合预期。
        接口测试会用到比力多,性能测试一样寻常不会使用
2 Jmeter写单接口测试脚本

注:这里只管找项目标接口文档,编写接口脚本
     接口测试五大要素:              哀求地点  :  取样器 / 设置元件 - http哀求默认值             哀求方法  :    取样器             哀求参数  :    取样器             哀求头部  :    设置元件 - http信息头管理器             相应消息体 : 监听器 - 察看效果树   2.1 添加线程组 - 寻常线程组    

        右键测试操持,添加线程组


2.2 添加取样器

        线程组右键,添加取样器 --> http哀求


   注:
          1、协议:当http哀求时,可以不写。但是https时肯定要写
          2、服务器ip: 项目标ip大概域名,前后不能有空格
          3、端口:不写默认8080,假如项目有本身的端口肯定要带上。https协议这里是443
          4、哀求方法:根据接口协议定,不要写错
          5、路径:接口地点,前后不能有空格
          6、编码:utf8 -- 支持中文格式字符
                     6.1 当消息体是json格式,并此中有中文或特殊字符时,【两个二选一】
                          1、设置编码为 utf8;
                          2、在哀求头里设置:ContentType:application/json;charset=utf8
                     6.1 当参数为表单的数据,以上两个设置无效,须要勾选参数列表种的‘编码'
                          (这是对参数举行 urlencode 编码,否则会乱码;一样寻常发起默认都勾上)
          7、哀求体:
                   7.1 参数和消息体数据是互斥,不能同时使用。
                 7.2  当接口哀求体为json或xml ,就把哀求体写在消息体数据中;
                                json格式: {"name":"tricy"} --键值对的
                                XML格式: <name>polly</name> 【soap协议 webservice接口】
                7.3  当接口为 GET方法的时间, 哀求体一样寻常都是表单格式
                                  哀求体就写在【参数】中 
                                哀求体的参数值的范例为数字/ 字符串范例时,值是没有双引号。
                                表单数据的值是没有范例之分的。(由于这个值都是跟在URL地点后
                                  面的,会举行urlencode编码,都是文本,以是没有范例之分)
          8、自动重定向:直接跳跃到终极的地点上,查察效果树中看不到中心过程,以是无法提取到中心过程的数据。【一样寻常不勾选】
        9、跟随重定向:默认勾选,查察效果树中看到重定向的过程,而且我们可以提取过程中的数据。
        10、使用keepalive: 默认勾选,使用http的长毗连;不勾选,就是短毗连。(http协议默认是长毗连协议,连上之后保持一段时间再开释。节流TCP三次握手和四次挥手的资源斲丧,默认是长毗连
        11、对post使用multipart/form-data:文件上传的接口须要勾选这个二进制流的数据格式
   2.3 添加消息头管理器

        线程组右键 --> 设置元件  --> http信息头管理器

    注:
          假如是json消息体数据,必须添加消息头,写上 Content-Type:application/json;
        application/json :json数据,哀求体为json就肯定要设置添加消息头
        application/x-www-form-urlencoded : 表单数据,可以不加content-type哀求头
        form-data:post方法提交表单数据,可以不加content-type哀求头
        另有其他的哀求头是否要加看开辟接口封装: 接口文档 + 抓包+沟通开辟确认 
   2.3 添加查察效果树

        线程组右键 --> 监听器  --> 查察效果树    

发送哀求乐成会出现如下信息

   注:查察效果树的效果查抄
        1、绿色,仅仅代表网络乐成,服务器收到并处置惩罚了哀求;http的相应状态码为 1xx 2xx 3xx,不代表效果符合预期,要举行相应效果简直认 判断接口是否实行通过。
        2、赤色,仅仅代码网络哀求失败,相应状态码为 4xx\5xx。
        3、HTTP取样器效果分析【单位是ms】
                3.1 load time加载时间=相应时间:
                  从发送哀求到收到末了的相应时间,所耗费的时间,即相应时间(RT)
                3.2 Latency耽误时间 <= 相应时间:
                  从发送哀求到收到第一个相应【报文太大,须要分组分包发送】,所耗费的时间。
                3.3 connect time(毗连时间):创建毗连所耗费的时间,比方TCP的三次握手。
  http协议不太熟悉的同砚,可以参考(7)http哀求、https哀求详解-CSDN博客
          4、假如相应效果是中文乱码:须要修改jmeter设置文件
                4.1 进入Jmeter的bin目次下,找到jmeter.properties文件,
                4.2 将#sampleresult.default.encoding=ISO-8859-1的解释去掉,
                4.3 改成:sampleresult.default.encoding=UTF-8,
                4.4 重启Jmeter,会再次重新加载设置文件
          
  2.4 拓展先容    


   右上角的运行效果:
        前面是运行时间
        三角形: Jmeter工具的日志日志,运行报错赤色的数字
        反面的数字:现在正在运行的线程数 / 将要启动的线程数 【负载测试】
  

     http哀求默认值:     1、多个接口的公共部门可以放在默认值里,简化设置。就不消给每一个接口添加一个(2.3 添加消息头管理器)     2、假如接口本身也设置了消息头管理器,根据就近原则以接口本身的设置为准发送
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表