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. 基于模板创建测试计划,点击后弹出对话框,选择模板:

  3. 打开 .jmx 脚本文件

  4. 保存当前测试计划为 .jmx 脚本文件

  5. 删除目录树中选中的元件,如果是父节点,那么其子节点也会一同被删除

  6. 复制元件

  7. 粘贴元件

  8. 展开目录树

  9. 收起目录树

  10. 禁用或启用元件,如果是父节点,那么其子节点也会一同被禁用

  11. 启动运行测试计划

  12. 启动运行测试计划,忽略定时器

  13. 停止,直接把所有线程停掉,类似于“杀进程”

  14. 关闭,等当前线程执行完成后结束线程

    “停止”或“关闭”在点击后会弹出相同的对话框,从实际效果来看,停止比关闭更快:

  15. 清除响应数据,比如查看结果树,聚合报告,但不能清除日志控制台

  16. 清除全部数据,包括日志

  17. 查找,点击后弹出查找对话框,支持正则:

  18. 清除查找

  19. 函数助手,在做参数化时会用到,点击后弹出对话框:

  20. 帮助文档

  21. 执行耗时,精度为秒

  22. 错误日志个数,点击后会打开日志控制台

  23. 正在运行线程数 / 总线程数

  24. 运行状态,启动运行测试计划后变绿色

左上角 菜单栏

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

File

Edit

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

Search

Run

Options

Tools

基本使用

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

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

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

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

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

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

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

简要回顾

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

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

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

JMeter实战(三) 界面使用的更多相关文章

  1. Jmeter实战

    Jmeter实战 入门篇 1.下载与使用 下载地址:http://jmeter.apache.org/download_jmeter.cgi 开源,基于java编写,所以得有jdk(jre)环境,下载 ...

  2. Python爬虫实战三之实现山东大学无线网络掉线自动重连

    综述 最近山大软件园校区QLSC_STU无线网掉线掉的厉害,连上之后平均十分钟左右掉线一次,很是让人心烦,还能不能愉快地上自习了?能忍吗?反正我是不能忍了,嗯,自己动手,丰衣足食!写个程序解决掉它! ...

  3. JMeter实战(一) 体系结构

    此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象. 为了便于后续讲解,先明确下2个术语. 元件:如HTTP请求.事务控制器.响应断言,就是一个元件. 组件:如逻辑控制器 ...

  4. coreseek实战(三):全文搜索在php中应用(使用api接口)

    coreseek实战(三):全文搜索在php中应用(使用api接口) 这一篇文章开始学习在php页面中通过api接口,使用coreseek全文搜索. 第一步:综合一下前两篇文章,coreseek实战( ...

  5. 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学

    2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...

  6. 【Jmeter基础知识】Jmeter的三种参数化方式

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  7. 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)

    转载自 http://www.cnblogs.com/yangxia-test 准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ  ...

  8. JMeter非GUI界面运行

    JMeter是一款可以用于做接口可以用于作压力性能的应用程序,该程序是纯Java语音开发,所有对环境支持都比较好. JMeter可以运行模式有两种,一种是UI图形,另一种是命令模式运行也就是非GUI模 ...

  9. jmeter的三种参数化方法

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

随机推荐

  1. 你可能不知道的 Date 类

    Date 是 JS 中的重要的一个内置对象,其实例主要用于处理时间和日期,其时间基于 1970-1-1 (世界标准时间)起的毫秒数,时间戳长度为 13 位(不同于 Unix 时间戳的长度 10 位). ...

  2. Python-语法糖(装饰器)

    什么是高阶函数? -- 把函数名当做参数传给另外一个函数,在另外一个函数中通过参数调用执行 #!/usr/bin/python3 __author__ = 'beimenchuixue' __blog ...

  3. C文件读写(二进制/文本文件)整理

    目录 [TOC] 打开文件 使用fopen打开文件,在<stdio.h>头文件中,其声明如下: FILE * fopen ( const char * filename, const ch ...

  4. 【Python】数字与运算符

    数据类型与运算符 数字 / 浮点除 // 整数除 ** 乘方 多种混合类型运算数的运算会把整数转换为浮点数 除了 int 和 float,Python也支持其他类型的数字,例如 Decimal 或者 ...

  5. Shiro入门学习---使用自定义Realm完成认证|练气中期

    写在前面 在上一篇文章<shiro认证流程源码分析--练气初期>当中,我们简单分析了一下shiro的认证流程.不难发现,如果我们需要使用其他数据源的信息完成认证操作,我们需要自定义Real ...

  6. Spring Boot 第六弹,拦截器如何配置,看这儿~

    持续原创输出,点击上方蓝字关注我吧 目录 前言 Spring Boot 版本 什么是拦截器? 如何自定义一个拦截器? 如何使其在Spring Boot中生效? 举个栗子 思路 根据什么判断这个接口已经 ...

  7. Java知识系统回顾整理01基础05控制流程06break

    一.break break:结束循环 二.练习--直接结束当前for循环 public class HelloWorld { public static void main(String[] args ...

  8. MCU(Micro Control Unit)中文名称为微控制单元

    参考:http://www.elecfans.com/dianzichangshi/mcu.html 什么是mcu_mcu是什么意思 标签:MCU(471)单片机(3098)微控制器(503) MCU ...

  9. Tomcat 第六篇:类加载机制

    1. 引言 Tomcat 在部署 Web 应用的时候,是将应用放在 webapps 文件夹目录下,而 webapps 对应到 Tomcat 中是容器 Host ,里面的文件夹则是对应到 Context ...

  10. html ul li 自定义宽

    1. ul里面的样式  2. ul li 里面的样式