前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大话JMter(一),带你了解JMeter的基础用法

大话JMter(一),带你了解JMeter的基础用法

原创
作者头像
霍格沃兹测试学院
修改2019-11-26 10:19:15
7220
修改2019-11-26 10:19:15
举报

所谓的性能测试要在功能测试之后。

  • 功能测试:关注能不能用
  • 性能测试:关注好不好用

常见的性能关注点有:

  • 接口响应时间:50毫秒 ~ 1000毫秒
  • 吞吐量:1000万每天,2000万每天 ......10亿每天
  • TPS:Transaction Per Second 事务处理能力,每秒处理事物数(打开页面、登录、选择商品、加入购物车、下单、付款)

注意:“日活”每日活跃用户数,是个运营数据,跟性能没有必然关联性

Jemter是什么?

用更准确的话说,压力测试包括:

  • Spike testing:短时间的极端负载测试
  • Extreme testing:在过量用户下的负载测试
  • Hammer testing:连续执行所有能做的操作

开源免费只是众多优点之一,jmeter有以下几个优点:

  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
  • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
  • 相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试
  • 多平台支持,可在Linux,Windows,Mac上运行

官网:https://jmeter.apache.org/

下载:binary可运行文件包

贴心提醒: 官网下载规律: 首页 -> Download -> 版本号 -> binaries,因为binaries代表已经编译完,source是还未编译的源码。

 jemeter包含哪些功能模块

主要功能模块

  • 取样器:进行脚本逻辑控制。
  • 线程组:压测场景控制。
  • 监视器:监控压测运行,获取性能指标。

录  制

步骤一:

  • 打开 JMeter
  • 添加 “HTTP(S) Test Script Recorder”

步骤二:

  • 添加“Thread Group”

步骤三:

  • 在 Thread Group中添加“Recording Controller”

在jmeter中设置端口,你可以打开 HTTP(S) Test Script Recorder:比如设定 Port = 8088与此同时,你也可以指定录制保存到哪个controller 比如设定 Target Controller = Test Plan > Tread Group > Recording Controller

设置浏览器端口,你要打开浏览器,将浏览器的代理服务器地址指向 http://localhost:8088

开始录制:单击HTTP(S) Test Script Recorder中的Start按钮,打开代理

单击弹框中的确定按钮

JMeter的录制代理将会开启

在对应的浏览器中访问百度新闻网站

切换到国际频道

切换到财经频道

停止JMeter的代理服务

我们可以利用正则表达式排除一些静态资源在http(s) Test Script Recoder下找到Requests Filtering 添加“include”与 “Exclude”URL 正则匹配表达式

  • Include:.*\.(baidu\.com).*
  • Exclude:.*\.(js|css|PNG|jpg|ico|png|gif).*

当我们录制完毕,你可以添加result tree看请求和响应的细节:添加 View Results Tree

如果你想对录制进行回放,点击左上角的绿色三角:

在压测过程,要例证请求/响应的正确性

  • 断言的实际值与设定值相符 -> 成功
  • 断言的实际值与设定值不相符 -> 失败

右键单击对应的 HTTP Request,添加 Response Assertion

将校验条件添加到响应断言中比如:响应文本内容是否包含某个字符串或者http响应码是不是200

你可以在 View Results Tree 中查看结果,结果如果错误(设置响应码为2001),会报以下的错误

比如设置:

  • 并发数:10
  • 持续时间:30秒

当一切都设置完毕,点击运行,我们发现结果井然有序。

添加聚合压测报告 – Aggregate Report

以下是聚合报告的结果

  • Average:单个请求的平均响应时间
  • Median:中位数,也就是50%用户的响应时间
  • 90%Line:90%用户的响应时间
  • 95%Line:95%用户的响应时间
  • 99%Line:99%用户的响应时间
  • Min:最小的请求响应时间
  • Max:最大的请求响应时间
  • Error%:错误率
  • Throughput:吞吐量
  • Received KB/sec:每秒从服务器端接收到的数据量
  • Sent KB/sec:每秒从客户端发送的请求的数量

写在最后

本文使用漫画形式向大家展示了jmeter的基础用法:录制回放功能,断言,聚合报告。

我想你已经获取到了这些信息,李政道教授谈论学习方法,他表明我们可以获取很多信息但是,信息到理解还有一段路,只有亲手练了才能变成理解,能获取信息不代表自己理解。

所以请同学们勤加练习,争取学到更多的知识,本内容出自霍格沃兹测试学院,想进一步学习jmeter的使用?请继续关注我们。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档