zoukankan      html  css  js  c++  java
  • 手把手教你使用jmeter接口测试

    一 Jmeter 介绍

    Jmeter由Apache公司开源的一个纯java压力测试工具,其应用范围非常广泛,一般我们用于高并发,分布式限流等数据量大的情况下,对接口进行压力测试;

    jmeter的特点如下

    • Jmeter 可移植性高,能够跨平台使用;
    • Jmeter 可实现分布式负载。
    • Jmeter 可实现多线程测试;
    • Jmeter 高扩展性较高。

    jmeter下载地址:

    http://jmeter.apache.org/download_jmeter.cgi

    运行环境要求 : JDK8

    二 Jmeter运行模式介绍

    下载完成后打开安装目录下的bin目录

    常用的运行模式如下

    • jmeter.bat:运行Jmeter 为GUI窗口;
    • jmeterw.cmd:运行jmeter为GUI窗口,没有window shell 控制台输出;

    所以启动的命令不同,出现的窗口数量也不同;一般情况下没必要开启windos控制台,输出的都是一些日志情况;

    其它模式如下:

    • jmeter-n.cmd: 放置JMX 文件运行CLI模式测试
    • jmeter-n-r.cmd:放置JMX 文件运行CLI模式远程测试
    • jmeter-t.cmd:放置JMX 文件在GUI模式加载
    • jmeter-server.bat:开启server模式
    • mirror-server.cmd:在CLI模式下运行JMeter Mirror Server

    关闭模式如下

    • shutdown.cmd:优雅关闭
    • stoptest.cmd:粗暴关闭

    双击 jmeterw.cmd 运行jmeter 界面如下

    三语言选择

    选中语言为中文简体

    Jmeter菜单栏选择Optionsà-->Choose Languageà --> Chinese (Simplified)

    选择中文简体后界面如下

    四 Jmeter测试流程

    jemter的元件如下

    简单的测试流程如下

    1.测试计划

    2.线程组

    3.HTTP Cookie管理器

    4.Http请求默认值

    5.Sampler(HTTP请求)

    6.断言

    7.监听器(查看结果树、图形结果、聚合报告等)

    五 详细测试示例

    5.1添加线程组

    右键点击Test Plan->添加->线程(用户)->线程组

    选择线程数量,和循环次数;知识追寻者这边选择值分别为 5和2,即一共发送10个请求;

    5.2 添加HTTP Cookie管理器

    右键线程组->添加->配置元件->HTTP Cookie管理器

    HTTP Cookie管理器可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies

    5.3HTTP请求默认值

    右键线程组->添加->配置元件->HTTP请求默认值

    主要是填写 IP 和端口号,默认前缀路径,后面的请求就不需要再次写入;

    配置ip和端口号如图

    5.4 添加HTTP请求

    配置相关的ip,端口,路径等

    5.5 添加断言

    右键HTTP请求->添加->断言->响应断言

    检查接口是否访问成功

    5.6 添加监听器

    1、查看结果树:打开察看结果树,绿色代表测试通过,红色代表测试失败。在此我们可以看到详细的请求头、响应时间、请求参数和返回结果;方便我们进行接口调试

    2、查看图像结果:图像界面曲线分析;

    3、查看聚合报告:

    Label:每个 JMeter 的 请求都有一个 Name 属性,这里显示的就是 Name 属性的值

    Samples:表示本次测试中一共发出了多少个请求

    Average:平均响应时间

    Median:也就是 50% 用户的响应时间

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

    Min:最小响应时间

    Max:最大响应时间

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

    Throughput:吞吐量——默认情况下表示每秒完成的请求数

    KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

    5.7 运行结果

    点击菜单栏的绿色 三角形按钮运行Jmeter

    测试响应结果如图

    聚合报告如下

    因为请求模拟的线程数量太少,图像显示不佳,图像如下

    5.7 正则表达式测试说明

    以上进行的是单接口测试,当进行多个接口测试的时候可以使用正则表达式进行测试;

    关注公众号:回复 拍拍知识追寻者,领取面试资料和原创PDF教程;

  • 相关阅读:
    java实现从实体到SQL语句的转换
    Mybatis Plus 入坑(含最新3.X配置)
    Spring cloud config client获取不到配置中心的配置
    Spring Cloud Config-Client 无法获取 Config-Server 在 github 上的配置文件的属性值,竟然是因为
    QMessageBox 的四种用法
    龙芯派二代发布,简化国产软硬件开发难度
    解析Qt元对象系统(五) Q_INVOKABLE与invokeMethod(automatic connection从Qt4.8开始的解释已经与之前不同,发送对象驻足于哪一个线程并不重要,起到决定作用的是接收者对象所驻足的线程以及发射信号(该信号与接受者连接)的线程是不是在同一个线程)good
    解析Qt元对象系统(四) 属性系统(确实比较方便)
    HTML如何让IMG自动适应DIV容器大小
    布隆过滤---判断一个元素在亿级数据中是否存在
  • 原文地址:https://www.cnblogs.com/zszxz/p/13856173.html
Copyright © 2011-2022 走看看