性能测试第六课 -- jmeter脚本开发初体验

环境

  • 启动项目
  • 启动jmeter  jmeter.bat 
    • 临时修改语言:option-> choose language-chinese
    •  永久修改语言 :修改配置文件(apache-jmeter-5.4.3\bin\jmeter.properties),添加一行language=zh_CN ,保存后需要重启Jmeter

          

  • 用Jmeter.batch,jmeter.sh ,jmeter 这些命令启动的是图形界面模式
    • 图形界面GUI:仅用于填写和调试脚本
    • 真正做性能测试,不用图形界面,用CLI无图形界面模式
  • 日常使用图形界面工具,我们习惯从菜单中找功能,但是jmeter菜单中的功能优先,jmeter的主要功能都是在右键中的
  • 启动jmeter,打开脚本
    • jmeter默认是用1个G的内存
    • 这1个G的内存,大概能产生1500~2000左右的现场数

Jmeter介绍

  • jmeter界面介绍JMeter的界面介绍
  • 左侧脚本结构树
    • 测试计划:脚本的根,在它的基础上右键,添加其他功能
      • 线程(用户)---添加组(进行性能测试时,设计性能场景的)
        • setup
        • teardown
        • 线程组
      • 配置元件(配置元件的优先级是最高的,是最先被执行的)
        • HTTP Cookie管理器
        • HTTP请求默认值
          • 在性能测试中,我们一般会在测试环境中调试脚本,然后再切换到性能测试环境,进行性能测试,利用HTTP请求默认值这个配置元件可以帮我们节省不少时间
          • 在接口功能测试,自动化测试过程中我们一般会把多个接口写在1个线程组下面,但是在性能测试中,一般都是在一个线程组下面放1个接口的
            • 例如下单接口,需要依赖于登录接口,那么这种情况下我们会把登录和下单接口放在同一个线程组下,但是我们会结合“仅一次控制器”让登录接口只被调用一次

      •  HTTP信息头管理器
      • CSV数据文件设置
      • 监听器
        • 查看结果树:默认显示数量为:后500条
          • 红色:请求失败,查看失败原因,反馈问题
            • connection refuse:网络不通
              • 1.jmeter机器与被测服务器网络不通
                • 常规操作:ping目标机器的IP地址 --但是,不一定成立
                  • 因为,被测服务器,可能会禁ping(一般来说生产的机器都会禁ping)
                • 推荐使用 telnet ip port   (tennet 192.168.1.1 8080)
                  • telnet命令,放置了jmeter的机器需要开启telnet 命令
                  • 不通
                    • 第一种:确实是网络不通
                    • 第二种:被测机器上没有启用该端口
                      • 在被测机器上查看端口是否启动  netstat - anp |grep 端口
          • 绿色:请求成功,但是请求结果不一定符合预期
          • 查看结果树的显示顺序:先收到结果先显示
          • jmeter取样器的执行顺序是从上往下执行
      • 逻辑控制器
        • 添加逻辑控制器,一定要有取样器,才会生效
        • 事务控制
        • 仅控制一次
      • 定时器:设置定时任务
        •  性能测试过程中,不建议用(不建议用集合点)
  • 前置处理器:执行请求前要准备的事情(登录)
    • 用户参数
  • 后置处理器:对执行的结果进行处理
    • json提取器
    • 正则提取器
  • 断言:判断结果与预期结果之间的关系
    • 性能测试过程中,不建议用断言
      • -----性能测试不关注请求结果是否满足要求
      • -----关注的是资源消耗情况
  • 非配置原件
    • HTTP代理服务器

jmeter安装目录结构

  • bin文件夹
    • 配置文件,启动文件,保存脚本的默认路径
  • lib文件夹
    • jmeter 的jar包
      • lib\ext文件夹,放第三方扩展jar包

写http脚本

  • 服务器ip或域名
  • 端口:tomcat的默认端口 8080
    • 没有填写端口,端口默认是80
  • 请求方法和路径:
    • 接口文档(swagger)
    • 抓包 f12,fiddler,tcpdump ……

控制请求编码有三个地方

  • 消息头管理器:Content-Type的值中添加;charset=utf-8
  • 内容编码 
  • 参数体
    • value中为  中文或者特殊符号的时候一定要勾选编码

响应编码

  • windows电脑中编码格式为:GBK
  • mac和linux中文编码未:utf8
  • jmeter工具,会读取本系统的中文编码,然后去解析响应信息
    • 请求响应从服务器返回给jmeter,如果里面有中文,这个中文是项目配置的编码
    • 如果项目配置的中文编码,与jmeter工具gbk编码不一致,两个编码不兼容
      • 就会出现响应体乱码---需要修改jmeter的编码
        • jmeter.properties配置文件中的 encoding

自动重定向/跟随重定向

  • 自动重定向:只针对get,head请求,可以自动跳转到最终页面,但是jmeter不记录重定向过程,查看结果树无法找到重定向过程内容,无法做关联
  • 跟随重定向:jmeter默认选项,响应码3XX时自动跳转,查看结果树中可以看到过程内容,可以做关联

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值