(22、23)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”}]”}
    • 多个键值对之间用 英文逗号分割, 最后一个键值对,后面没有 逗号
      • 键值对 是 无序的
    • 用大括号括起来{}

版权声明:本文为weixin_46356321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。