• jmeter脚本开发


    jmeter写脚本

    • 修改jmeter的语言为中文:
      • 临时修改: 菜单栏 options > choose language > chinese 只对当前启动jmeter有
        效,关闭jmeter之后又会被还原。在这里插入图片描述
      • 永久修改: 配置文件 jmeter.properties
        • jmeter是用java语言开发,java语言中,经常看到用 xxx.properties 结尾的文件,都是它的属性配置
        • propeties文件,可以用 记事本 打开
          • 用 # 开头 注释
          • 所有 key=value 就是 属性键值对
          • 添加 language=zh_CN 前面不要 # 保存文件
          • 重启jmeter 才生效
          • 所有的属性文件被改变之后,都需要重启才生效
        • jmeter启动的时候,是会先去加载 properties的属性配置文件
    • 用 jmeter.bat jmeter.sh jmeter 这个命令启动的jmeter,是图形界面
      • 图形界面 GUI: 仅仅用于编写和调试脚本
      • 真正做性能测试,不用 图形界面, 用 CLI 无图形界面模式
    • 日常使用图形界面工具,我们习惯从菜单中 找功能,但是jmeter不一样,菜单中的功能很有限,jmeter的主要功能都是在右键里面
    • 快捷工具栏
      • 帮助: 打开的是官方的帮助, 官方的帮助,只保留了最新的一份。 我们的jmeter用的是5.1.1,不是最新版本,所以,这个官方帮助 与 我们用的软件有差异。

        • 离线帮助:
          • docs: jmeter-api 接口文档, 主要是用于jmeter二次开发使用
          • printable_docs: 用浏览器打开 index.html 就是 jmeter的离线使用文档
            • 建议大家,多去看这个文档
      • 不同的版本,这个地方有差异。在这里插入图片描述

        • 以后,在工作中,遇到问题,要反馈问题的时候,你们截图,要包括这个地方。
          • 截图一定要截 jmeter 整个图像,不要截一小段一小段
        • 时间: 执行测试的时长
        • 黄色三角形后面的数字: 有红色的数字,说明 工具出错
          • 1、工具本身
          • 2、你的脚本不正常运行,导致工具出错
        • 点击黄色三角形,可以打开 logcat 面板,看到jmeter的运行日志在这里插入图片描述
          • 出现红色数字,我们就会去点击
        • 0/0: 后面的数字,是说jmeter将启动多少个线程数(性能测试); 前面的数字,说当前启动运行的线程数在这里插入图片描述
    • 左侧脚本结构树
      • 测试计划:脚本的根 在它上面右键去添加其他功能在这里插入图片描述
        • 线程(用户) -------添加组 (进行性能测试时,设计性能场景的)在这里插入图片描述
          • setup
          • teardown
          • 线程组: 挂载 真正要执行的请求
        • 取样器:
          • 取样器是根据协议来区分
            • 要写请求,就是 填元件中的空
          • 只有添加了线程组才会在右键中出现取样器在这里插入图片描述
        • 配置元件:为所有取样器做基础配置
          • 它是所有元件中,最先被执行(在jmeter中的优先级是最高的)
          • csv数据文件设置在这里插入图片描述
          • 用户定义变量
            在这里插入图片描述

    写写http脚本

    • 服务器ip或域名(二选一,必写一种)

      • 端口, tomcat的默认端口 8080
        • 没有填端口,端口就是: 80
    • 请求方法和路径

      • 1、接口文档
      • 2、swagger 现在项目很容易 swagger集成
      • 3、抓包 f12 、fiddler、 tcpdump
      • 录制?
        • 可以录制,但是,性能测试中,千万不要讲 录制
        • 录制的时候,会带有很多 干扰
    • 消息体数据

      • json
      • 请求体为json,就一定要添加消息头管理器,一定要写上 Content-Type
        application/json在这里插入图片描述
    • 监听器:对我们的结果进行监听

      • 不同的监听器就是丛不同的维度来监听我们的同一对象
      • 查看结果树
        • 红色: 红色只是代表失败
          • Response-code: 4xx 5xx
        • 绿色: 绿色 只是说明 网络请求成功
          • Response-code: 1xx 2xx 3xx
      • 逻辑控制器: 逻辑控制请求
        • 添加逻辑控制器,一定要有 取样器,才会生效事物控制仅一次控制
      • 前置处理器: 执行请求前要准备事情
        • 用户参数
      • 后置处理器: 执行结果来进行处理
        • json提取器
        • 正则提取器
    • json
      • 键值对的结构"key":value,key是用双引号的,value是否使用双引号不确定
        • value 为数字类型:不需要双引号
          • 数字类型: 整型int、 float
        • value 为字符串类型:需要双引号
          • 字符串: string(char、varchar)
        • value也可以是 数组类型 {“key”:[{“key2”:“value2”}]}
          • 有一种特殊情况不是数组 {“key”: “[{“key2”:“value2”}]”}
      • 多个键值对之间用 英文逗号分割, 最后一个键值对,后面没有 逗号
        • 键值对 是 无序的
      • 用大括号括起来{}
  • 相关阅读:
    把jar包打成docker镜像并推送到Docker Hub
    在 Python 中打印二叉树
    C语言——从键盘任意输人一个三位数的自然数,求该数个位、十位、百位上的数字之和
    HTTP与HTTPS
    Linux环境搭建Nginx+Tomcat负载均衡集群
    babel转码器
    单链表及其所有操作(无哨兵位)
    学术汇报(academic presentation)/PPT应该怎么做?
    猿创征文|HCIE-Security Day50:网络攻击介绍
    浅谈数据库分表
  • 原文地址:https://blog.csdn.net/weixin_46356321/article/details/125357758