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 个:
新建测试计划
基于模板创建测试计划,点击后弹出对话框,选择模板:
打开 .jmx 脚本文件
保存当前测试计划为 .jmx 脚本文件
删除目录树中选中的元件,如果是父节点,那么其子节点也会一同被删除
复制元件
粘贴元件
展开目录树
收起目录树
禁用或启用元件,如果是父节点,那么其子节点也会一同被禁用
启动运行测试计划
启动运行测试计划,忽略定时器
停止,直接把所有线程停掉,类似于“杀进程”
关闭,等当前线程执行完成后结束线程
“停止”或“关闭”在点击后会弹出相同的对话框,从实际效果来看,停止比关闭更快:
清除响应数据,比如查看结果树,聚合报告,但不能清除日志控制台
清除全部数据,包括日志
查找,点击后弹出查找对话框,支持正则:
清除查找
函数助手,在做参数化时会用到,点击后弹出对话框:
帮助文档
执行耗时,精度为秒
错误日志个数,点击后会打开日志控制台
正在运行线程数 / 总线程数
运行状态,启动运行测试计划后变绿色
左上角 菜单栏
菜单栏和工具栏有些功能是重叠的,本小节挑选菜单栏特有的功能进行介绍。
File
Edit
选中测试计划、线程组或其他元件,Edit 菜单略有不同,这里以线程组为例进行介绍,其他相差不大:
Search
Run
Options
Tools
基本使用
在打开了 JMeter 的图形界面以后,可以按照以下步骤来使用:
- 建立线程组,用线程模拟用户,产生大量负载。
- 运行取样器,发起并发请求。
- 运行过程中,通过断言验证结果正确性。
- 通过监听器记录测试结果。
如果取样器需要参数化,通过配置元件(CSV、函数、自定义变量)或前置处理器(用户参数)来完成。
如果需要做关联(关联:从上一条请求中获取数据,在下一条请求中使用),通过后置处理器(如正则表达式提取)来完成。
如果需要设置场景,比如模拟多少用户,运行多少时间,可以设置线程组编辑项。
如果需要同一时刻发送请求加压,可以使用定时器。
如果需要控制业务的执行逻辑,可以使用逻辑控制器。
简要回顾
本文基于 JMeter 5.3 版本,介绍了 3 个主要界面工作区域。区域 1 是目录树,用于管理元件。区域 2 是编辑区,用于对元件进行配置。区域 3 是工具栏,提供了功能快捷方式。左上角是菜单栏,提供了一些特有功能。最后讲述了 JMeter 的基本使用。
下一篇《JMeter实战(四) 元件作用域》
参考资料:《全栈性能测试修炼宝典JMeter实战》
JMeter实战(三) 界面使用的更多相关文章
- Jmeter实战
Jmeter实战 入门篇 1.下载与使用 下载地址:http://jmeter.apache.org/download_jmeter.cgi 开源,基于java编写,所以得有jdk(jre)环境,下载 ...
- Python爬虫实战三之实现山东大学无线网络掉线自动重连
综述 最近山大软件园校区QLSC_STU无线网掉线掉的厉害,连上之后平均十分钟左右掉线一次,很是让人心烦,还能不能愉快地上自习了?能忍吗?反正我是不能忍了,嗯,自己动手,丰衣足食!写个程序解决掉它! ...
- JMeter实战(一) 体系结构
此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象. 为了便于后续讲解,先明确下2个术语. 元件:如HTTP请求.事务控制器.响应断言,就是一个元件. 组件:如逻辑控制器 ...
- coreseek实战(三):全文搜索在php中应用(使用api接口)
coreseek实战(三):全文搜索在php中应用(使用api接口) 这一篇文章开始学习在php页面中通过api接口,使用coreseek全文搜索. 第一步:综合一下前两篇文章,coreseek实战( ...
- 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学
2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...
- 【Jmeter基础知识】Jmeter的三种参数化方式
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
- 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)
转载自 http://www.cnblogs.com/yangxia-test 准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ ...
- JMeter非GUI界面运行
JMeter是一款可以用于做接口可以用于作压力性能的应用程序,该程序是纯Java语音开发,所有对环境支持都比较好. JMeter可以运行模式有两种,一种是UI图形,另一种是命令模式运行也就是非GUI模 ...
- jmeter的三种参数化方法
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
随机推荐
- websocket+sockjs+stompjs详解及实例
最近有项目需求要用到websocket,刚开始以为很简单,但是随着遇到问题,深入了解,才知道websocket并不是想象中的那么简单,这篇文章主要是考虑websocket在客户端的使用. 1.http ...
- springmvc 源码分析(二)-- DiapartcherServlet核心调用流程分析
测试环境搭建: 本次搭建是基于springboot来实现的,代码在码云的链接:https://gitee.com/yangxioahui/thymeleaf.git 项目结构代码如下: 一: cont ...
- Java面试题之计算字符/字符串出现的次数
一.计算字符在给定字符串中出现的次数 二.计算字符串在给定字符串中出现的次数 1 import java.util.HashMap; 2 import java.util.Map; 3 4 publi ...
- Go-missing return at end of function
where? Go程序中函数在执行的时候 why? 函数有返回参数,但是函数没有return关键字,报错 way? 添加return返回函数需要返回的参数
- c#数据处理总结(分组、交并差与递归)
前言:最近项目比较忙,完全没有时间写下总结笔记,今天抽出时间来写下笔记,供写后台的你来做数据处理后台代码编写的参考. 一.分组 var GroupForList = numberList.GroupB ...
- IDEA2020版最佳优化思路(中文界面)
IDEA优化 基于当前最新版idea 2020.1版本进行设置 设置中文 在idea 2020.1版本后官方是支持中文啦 先上效果图 设置方法 这里需要下载官方的中文包 鼠标悬停提示 效果图 设置方法 ...
- Webpack + VueJS 学习、跳坑和总结
这篇随笔会陆续地更新下去,用于汇集一些关于Webpack的初学跳坑总结还有VueJS的基础知识. Webpack部分 ① 快速建立一个Webpack-Vue项目开发环境(4.39.1-2019/08/ ...
- 【题解】CF1207E XOR Guessing
Link 这是一道交互题. \(\text{Solution:}\) 观察到猜的数范围只有\(2^{14}.\) 我第一次想到的方法是,我们可以确定系统选择的两个数的异或和,用这个异或和去穷举所有目标 ...
- The comparison between object and constructor
1.相似的地方 1.举个栗子:public struct Student{ string name; int age;}public class bike{ int weight; ...
- 一文带你定制unittest测试用例的名称
在之前的文章中,我在之前的文章中提到过,这里呢,考虑后,感觉之前的写法不够优雅,于是乎呢,我自己抽空去研究了下,主要是新写方法,这样呢,以后的要使用的时候,可以直接去使用,而不是每次换个环境就要修改环 ...