jmeter学习笔记

  什么是性能测试:是一种测试类型,通过自动化测试工具,验证系统的质量属性,比如响应性、速度、稳定性等。确保应用程序能够在各种条件下都能按预期工作。性能测试的目标是发现系统中的错误,并且要消除系统性能瓶颈

1、首先在官网下载jmeter

2、然后下载安装jdk,添加环境变量

变量名:JAVA_HOME 变量值:安装jdk的bin目录层

Path中新建,%JAVA_HOME%\bin,注意这个要在javapath前面

3、jmeter.properties 可以修改配置

修改默认编码,sampleresult.default.encoding=utf-8 返回结果改成utf-8

修改默认语言,language=zh_CH

(jmeter的中文响应是unicode编码,

参考 Jmeter接口测试响应数据中文显示为Unicode码的解决方法 - fly龙御沧海 - 博客园

中文断言失败,参考Jmeter响应断言中,中文匹配失败问题解决 - 码农教程

4、参数化

  • 添加-前置处理器-用户参数 可添加多个变量和变量值(注意变量调用${变量})

  • 函数助手-csvread-输入csv文件所在路径-参数所在列(从0开始,不要列名)-生成-复制到需要参数化的位置

  • 添加-配置元件-csv 数据文件设置

    1. 选择后缀为txt/csv的文件

    2. 编码格式

    3. 变量名称(逗号分隔,注意变量这样显示a,b,c)

    4. 请求中调用变量${a}

  • 配置原件-用户定义 可以自己定义变量,但是变量不能参数化,通过${变量名}进行调用

5、一般后面的接口会用到前面接口的返回值,可以用后置处理器现将这个值保存起来。可以用正则表达式

先在结果树中调试,确定得到自己想要的数据,然后在后置处理器中,找到正则表达式提取器,然后后面的接口就可以调用了

 

 

 

6、取样器——debug sample可以放到最后调试,看运行过程中所有变量的值

7、定时器,主要是进行服务器压测,一般情况下,使用随机定时器就可以了,秒杀的时候需要用同步的定时器

  • 固定定时器:每个请求之间固定的延时

  • 高斯随机定时器 正态分布式的随机时间延时

  • 同步定时器 synchronizing timer LR里面集合点 等待多少个线程组 一起发送请求,注意超时时间如果设置的是0那么没有等到会一直运行,设置值后,超过时间会结束运行

  • 统一随机定时器 设置之后会在请求中进行随机延时 范围 delaytime +- offsettime

  • 泊松定时器 有一个基准值 一个最大随机值

  • 准确吞吐量定时器 需要测试服务器长期处于压力下 每分钟请求数 控制作用域

8、jmeter使用blazeMeter谷歌插件录制脚本(导出为jmx格式需要登录,注册有点坑,最好先注册好一个google邮箱,然后使用google账号登陆)

注意:脚本导入之后可以去掉不需要的东西,事物控制器要去掉,缓存和授权管理器都可以去掉

 9、有的登陆接口并没有返回cookie,但是其他的接口访问又要带上cookie,可以在jmeter.properties 修改配置

CookieManager.save.cookies=true,重启jmeter,添加HTTP cookie管理器,就可以了。(取样器——debug sample中可以看到cookie的值,也不需要额外管理cookie)

10、做压力测试时,需要考虑网络的因素,尽可能在不受网络波动的环境下去运行压测脚本。

11、服务器端压力测试可以使用的工具很多,包括JMeter、LoadRunner等,但是基本思路都一致:首先寻找需要做的性能测试点(接口使用的频次、功能测试发现可能存在性能问题的地方、客户要求),然后确定需要达到的性能指标,最后在测试中根据实际情况判断是否需要设置参数化等细节,并分析性能测试数据,找出疑惑点,究其原因,最终确定性能测试结果是否有效,如果性能测试结果确实有问题,则要考虑下一步的性能调优。

12、前端的性能测试 工具WebPageTest和PageSpeed Insights

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值