zoukankan      html  css  js  c++  java
  • Jmeter使用

    参考资料

    线程理解,并发理解:https://blog.csdn.net/hsd412237463/article/details/49929173
    结果分析:https://blog.csdn.net/zwc2xm/article/details/78895165
    举例:https://blog.csdn.net/wuxuehong0306/article/details/49902989?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
    举例:https://blog.csdn.net/lykangjia/article/details/56666893
    脚本录制:https://blog.csdn.net/zha6476003/article/details/79770414
    指标:https://www.cnblogs.com/insane-Mr-Li/p/10101283.html
    Cookie使用与持久化:https://www.cnblogs.com/scarlett-hy/p/10442074.html

    目录

    0 快速新建
    1 基本操作使用
    2 脚本录制
    3 使用场景和功能一览
    3.1 并发测试
    3.2 多场景并发测试
    3.3 接口测试
    4 特殊操作和注意点
    4.1 如何获取HTTP头信息
    4.2 cookie获取与持久化
    4.3 登陆方法,authorization

    零 快速新建

    1. 转换为中文版
    2. 新建一个线程组
      新建线程组后,设置线程个数,循环字数等
    3. 新建Http请求
      这里输入接口测试地址或者压力测试的地址,可以是url可以是ip,注意写法,注意端口号,注意协议(https/http)

    4. 新建结果查看,包括两个
    5. 新建断言,这里选择最简单的相应断言
      相应断言里可以断言不同的数据,可以测响应码是否包括200,也可以断言是否包含指定内容。断言判断的依据可以查看返回值里面都有哪些,也可以跟开发要。

    一 Jmeter基本使用

    1. 添加新的线程组
      TestPlan-Add-Threads(user)-Thread Group

    2. 添加http头文件
      Thread-add-Config Element-HTTP Header Manager

    3. 添加HTTP Request
      Thread-add-Sampler-HTTP Request

    4. 添加结果监视

    5. 运行并查看结果
      response code =200,Error%=0.00

    查看【聚合报告】的参数。

    • Label----每个请求的名称,比如HTTP请求等;
    • Samples----发给服务器的请求数量;

    • Average----单个请求的平均响应时间;
    • Median----50%请求的响应时间;
    • 90%Line----90%请求响应时间;
    • 95%Line----95%请求响应时间;
    • 99%Line----99%请求的响应时间;
    • Min----最小的响应时间;
    • Max----最大的响应时间;
    • Error%----错误率=错误的请求的数量/请求的总数;
    • Throughput----吞吐量即表示每秒完成的请求数;
    • Received KB/sec----每秒从服务器端接收到的数据量;
    • Sent KB/sec----每秒从客户端发送的请求的数量。

    二 脚本录制和编写

    2-1. 脚本结构
    通过hashTree来分割结构和模块,再依次划分下一个模块内容

    • TestPlan
    • ThreadGroup
    • HTTPSamplerProxy
    • HeaderManager
    • ResultCollector
      举例其中一个模块
    <?xml version="1.0" encoding="UTF-8"?>
    <jmeterTestPlan version="1.2" properties="4.0" jmeter="4.0 r1823414">
      <hashTree>
        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
          <stringProp name="TestPlan.comments"></stringProp>
          <boolProp name="TestPlan.functional_mode">false</boolProp>
          <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
          <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="TestPlan.user_define_classpath"></stringProp>
        </TestPlan>
      </hashTree>
    

    2-2. 参数取得
    登录到被测试页面 →F12→Network→点击测试功能→点F12画面的doPricing(点击测试功能后触发的name)→Headers→General→Request URL


    脚本或界面设置参数


    三 多场景测试

    测试需求如下:对业务A、业务B、业务C、业务D、业务E,5个业务按并发比例要求进行100个用户并发的压力测试
    1.创建一个测试计划;
    2.在该计划下添加5个线程组,分别是对业务A、业务B、业务C、业务D、业务E;
    3.分别设置线程组业务A、业务B、业务C、业务D、业务E的线程数为:40、10、20、25、5(总并发量为100,按并发比例设置并发用户数)
    4.在该计划下添加测试结果监控;

    四 接口测试


    查看结果

    对于postman

    五 接口测试的文档

    六 cookie持久化

    参考:https://www.cnblogs.com/scarlett-hy/p/10442074.html
    接口测试,需要登陆,三种方式,获取token,session,cookie,但三种都有有效期,每次关闭网页后,脚本要对应重新修改
    方法:添加http cookie manager

    七 如何用Jmeter登陆

    方法1:直接从数据库中获取账号和密码
    1)添加线程
    2)添加定时器-Synchronizing Timer,设置集合点N(Number of XXX),用户数量超过N时同时请求登陆操作
    3)配置原件-JDBC Connection Configuration

    4)添加Sampler-JDBC request(从数据库获取登陆账号和密码)

    5)添加登陆请求


    方法2:对账户密码参数化
    1)添加CSV Data Set Config进行参数配置

    2)请求调用

    八 身份验证

    1) 添加 HTTP 授权管理器(配置元件 > HTTP 授权管理器)
    2) 添加授权信息

    3) 添加请求
    4) 参考结果

  • 相关阅读:
    柠檬班软件测试就业班学习笔记持续更新
    linux练习题面试必备持续更新
    windows10 mysql5.7.23解压版安装教程
    2020 年最新:Maven无法使用阿里云仓库下载
    cd1101d 树形dp
    SemanticException [Error 10025]
    spark学习
    es学习
    nginx配置-线上服务器
    jdk、tomcat升级过程中遇到的问题
  • 原文地址:https://www.cnblogs.com/Alice1005/p/12538567.html
Copyright © 2011-2022 走看看