专栏首页dongfangerJMeter实战(三) 界面使用

JMeter实战(三) 界面使用

JMeter 有 2 种运行方式,一种是 CLI,一种是 GUI,本篇文章就来介绍一下后者,图形用户界面,因为后续文章大部分都是基于 GUI 的。

本文演示的是英文版,想用中文的同学可以在菜单栏点击 Choose Language 切换哦:

启动 JMeter (5.3 版本) 后,会看到这样的界面,共 3 个区域:

区域 1 是目录树,区域 2 是元件编辑区,区域 3 是工具栏,界面左上角是菜单栏。

区域1 目录树

目录树,是一个树状结构的目录,根节点只有 1 个,叫做测试计划。每 1 个测试计划就是 1 个 .jmx 测试脚本。

在根节点测试计划下,可以添加线程组、配置元素、监听器、定时器、前置处理器、后置处理器、断言、Test Fragment 等:

在测试计划下,必须添加线程组。因为 JMeter 就是用线程来模拟用户的。

添加了线程组以后,在线程组下可以添加取样器、逻辑控制器、前置处理器、后置处理器、断言、定时器、Test Fragment、配置元素、监听器:

取样器和逻辑控制器在测试计划中不能添加,只能在线程组中添加

接着就可以添加其他元件。

JMeter 在运行时,会从上往下依次遍历元件执行。

区域2 编辑

元件编辑区是用来设置元件的。当在左侧目录树选中某个元件后,右侧的编辑区会切换到当前选中元件的编辑项。

启动 JMeter 后的默认编辑区是测试计划的编辑区,因为启动后只有测试计划根节点。

编辑区是使用 JMeter 时访问最多的一块区域。

区域3 工具栏

5.3 版本的默认工具栏相比老版本简化了,更贴合实际使用需求,一共有 24 个:

  1. 新建测试计划
  2. 基于模板创建测试计划,点击后弹出对话框,选择模板:
  1. 打开 .jmx 脚本文件
  2. 保存当前测试计划为 .jmx 脚本文件
  3. 删除目录树中选中的元件,如果是父节点,那么其子节点也会一同被删除
  4. 复制元件
  5. 粘贴元件
  6. 展开目录树
  7. 收起目录树
  8. 禁用或启用元件,如果是父节点,那么其子节点也会一同被禁用
  9. 启动运行测试计划
  10. 启动运行测试计划,忽略定时器
  11. 停止,直接把所有线程停掉,类似于“杀进程”
  12. 关闭,等当前线程执行完成后结束线程 “停止”或“关闭”在点击后会弹出相同的对话框,从实际效果来看,停止比关闭更快:
  1. 清除响应数据,比如查看结果树,聚合报告,但不能清除日志控制台
  2. 清除全部数据,包括日志
  3. 查找,点击后弹出查找对话框,支持正则:
  1. 清除查找
  2. 函数助手,在做参数化时会用到,点击后弹出对话框:
  1. 帮助文档
  2. 执行耗时,精度为秒
  3. 错误日志个数,点击后会打开日志控制台
  4. 正在运行线程数 / 总线程数
  5. 运行状态,启动运行测试计划后变绿色

左上角 菜单栏

菜单栏和工具栏有些功能是重叠的,本小节挑选菜单栏特有的功能进行介绍。

File

Edit

选中测试计划、线程组或其他元件,Edit 菜单略有不同,这里以线程组为例进行介绍,其他相差不大:

Run

Options

Tools

基本使用

在打开了 JMeter 的图形界面以后,可以按照以下步骤来使用:

  1. 建立线程组,用线程模拟用户,产生大量负载。
  2. 运行取样器,发起并发请求。
  3. 运行过程中,通过断言验证结果正确性。
  4. 通过监听器记录测试结果。

如果取样器需要参数化,通过配置元件(CSV、函数、自定义变量)或前置处理器(用户参数)来完成。

如果需要做关联(关联:从上一条请求中获取数据,在下一条请求中使用),通过后置处理器(如正则表达式提取)来完成。

如果需要设置场景,比如模拟多少用户,运行多少时间,可以设置线程组编辑项。

如果需要同一时刻发送请求加压,可以使用定时器。

如果需要控制业务的执行逻辑,可以使用逻辑控制器。

简要回顾

本文基于 JMeter 5.3 版本,介绍了 3 个主要界面工作区域。区域 1 是目录树,用于管理元件。区域 2 是编辑区,用于对元件进行配置。区域 3 是工具栏,提供了功能快捷方式。左上角是菜单栏,提供了一些特有功能。最后讲述了 JMeter 的基本使用。

下一篇《JMeter实战(四) 元件作用域》

参考资料:《全栈性能测试修炼宝典JMeter实战》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JMeter100个线程竟然只模拟出1个并发

    线程组,是说到 JMeter 会第一时间想到的东西,也是我认为 JMeter 最难理解的知识点。因为项目让你做个压测,首先就是要考虑并发,用 JMeter 就是...

    dongfanger
  • JMeter实战(一) 体系结构

    此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象。

    dongfanger
  • pytest封神之路第三步 精通fixture

    conftest.py中的fixture可以用在当前目录及其子目录,不需要import,pytest会自动找。

    dongfanger
  • 三个好用的并发工具类

    以前的文章中,我们介绍了太多的底层原理技术以及新概念,本篇我们轻松点,了解下 Java 并发包下、基于这些底层原理的三个框架工具类。

    Single
  • LockSupport实现线程挂起和唤醒——深入浅出原码分析

    如果只是LockSupport在使用起来比Object的wait/notify简单,那还真没必要专门讲解下LockSupport。最主要的是灵活性。

    须臾之余
  • 并行执行任务的ForkJoin框架简介

    从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务,它的思想就是讲一个大任务分割成若干小任务,最终汇总每个小任务的结果得到这个大任务的结果。

    一个会写诗的程序员
  • Linux Qt使用POSIX多线程条件变量、互斥锁(量)

    之前一直在看POSIX的多线程编程,上个周末结合自己的理解,写了一个基于Qt的用条件变量同步线程的例子。故此来和大家一起分享,希望和大家一起交流。

    用户5908113
  • 对象拷贝类cglib的使用实例

    org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object or...

    用户5640963
  • 动手学深度学习-数据操作

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

    村雨遥
  • 快速掌握并发编程---CountDownLatch原理和实战

    如何实现让主线程等所有子线程执行完了后,主要线程再继续执行?即如何实现一个线程等其他线程执行完了后再继续执行?

    田维常

扫码关注云+社区

领取腾讯云代金券