栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Jmeter 入门使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jmeter 入门使用

文章目录
    • 1. 写在最前面
    • 2. Jmeter 安装
    • 3. Jmeter 使用
      • 3.1 增加 http 请求的基本信息
        • 3.1.1 增加 HTTP 请求的默认值
        • 3.1.2 增加 HTTP 信息头管理器
      • 3.2 增加 http 接口测试
        • 3.2.1 增加线程组
        • 3.2.2 增加 http 接口的访问
        • 3.2.3 配置 http 请求的参数
      • 3.3 http body 参数读取写入
        • 3.3.1 方案一
        • 3.3.2 方案二
      • 3.4 结果分析
        • 3.4.1 察看结果树展示
        • 3.4.2 聚合报告的展示
    • 4. 碎碎念
    • 5. 参考资料

1. 写在最前面

最近接了个新项目,整个人都处于非常忙碌的状态。但是学习、复盘才会使人进步,所以还是要抽出时间来学习新的、有趣的知识。对接的测试小姐姐,使用 jmeter 帮忙压测了下供应商的服务在被限流之后的行为是什么?

虽然自己写脚本也能完成并发的压测,但是最后总结的压测结果数据不如 jmeter 的广泛和全面,所以趁着时间允许,来研究一波 jmeter 的使用吧。

2. Jmeter 安装

Jmeter 下载地址 https://dlcdn.apache.org//jmeter/binaries/,笔者当时下载的是 5.4.1 的版本,总体的执行命令包括

  • 选择需要 jmeter 的版本,太新的话可能网上介绍的文档不多

  • 将下载好的 jmeter 服务压缩包移动到合适的目录 mv ~/Downloads/apache-jmeter-5.4.1.tgz .

  • 解压缩 tar -zxvf apache-jmeter-5.4.1.tgz

  • 切换到解压缩后的目录 cd apache-jmeter-5.4.1 && ./bin/jmeter.sh,然后就会收获一个 GUI 版本的 jmeter 界面

注:Jmeter 要求安装 Java,所以安装 Jmeter 时,请确认已经安装了要求的 Java 版本

3. Jmeter 使用

Jmeter 的使用网上已经有了比较详细的介绍,此处仅介绍几个笔者觉得用起来很方便的示例。先说一下背景,要测试的接口是一套 http 接口。类似如下能力:

  • acquire :获取 token,请求 body 中需要填写可变参数,token 返回在响应的 Body 中
  • start :拿着获取的 token 发起 start 请求,请求 body 中需要填写可变参数,此步骤类似启动一个任务,会在响应的 Body 返回一个 taskId
  • query:拿着获取的 taskId 和 token 查询任务
  • stop :拿着获取的 taskId 和 token 停止任务
3.1 增加 http 请求的基本信息

右键添加 -> 配置元信息进行选择

3.1.1 增加 HTTP 请求的默认值

用于配置请求的协议、地址、端口等信息

3.1.2 增加 HTTP 信息头管理器

用于增加 http header 的通用配置信息。

3.2 增加 http 接口测试 3.2.1 增加线程组

3.2.2 增加 http 接口的访问

3.2.3 配置 http 请求的参数
  • jmeter 内置了很多函数,具体参考 https://jmeter.apache.org/usermanual/functions.html,此处使用 __Random,eg ${__Random(0,10)}

  • 配置用户参数

    用此方法配置的用户参数为整个线程组均可以使用,如果想要配置仅 http 方法可以使用的用户参数,右侧点击 acquire 请求测试,增加配置元件 -> 用户定义的变量即可

  • 配置 http post 的 body

  • 增加接口返回值的断言

3.3 http body 参数读取写入

根据前述的背景描述,笔者需要从 acquire 的响应 body 值中读取 token,然后将 token 作为参数给 start 请求使用。

3.3.1 方案一

不需要将 token 存储,直接在后续的请求中使用,添加一个正则表达式处理器。步骤为点击添加 -> 后置处理器 -> 正则表达式处理器

在 start 的 http 请求中,直接使用定义的变量 o_tokenName。

3.3.2 方案二

方案二比较复杂,需要将 token 先写入文件,然后 start 的时候在从文件中读取。此方案的好处是方便用户后续排查问题

  • 需要增加 BeanShell 后置处理程序,将 token 写入文件

    参考的写入文件脚本:

    FileWriter fstream = new FileWriter("/Users/ly/Desktop/acquire", true);
    BufferedWriter out = new BufferedWriter(fstream);
    out.write("${o_tokenName}"+"n");
    out.close();
    fstream.close();
    
  • 增加 CSV 文件设置,用于从文件中读取 token,参考的配置如下

3.4 结果分析

Jmeter 提供了方便的结果分析功能,用户可以选择增加「察看结果树」和「聚合报告」

3.4.1 察看结果树展示

(ps: 思考,感觉这里的察,应该是汉化版本翻译有问题

3.4.2 聚合报告的展示

4. 碎碎念

真是非常忙碌并且一步一个坑的一个月,即 PE 多配置了一个字符之后,笔者又踩了一个配置漏发两台机器的问题。哎,还好心脏强大一些,不然真原地爆炸了。

  • 所谓解放,就是我们不再依赖,也不再等待,我们可以独自去面对最苦最痛的人生。
  • 为什么非要活成世俗眼中所谓正常的样子,都是几十年,过完就没了。
  • 你凭什么认为有人会拉你一把,摔倒了不自己爬起来,等着别人去踩吗?
5. 参考资料
  • mac系统下载、安装、使用Java8教程

  • Jmeter安装及入门教程(超详细)

  • meter中正则表达式提取器使用详解

  • 轻松搞定把jmeter结果数据写入到指定文件

  • jmeter使用之文件读取

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号