JMeter概述

一、JMeter介绍

1.1 JMeter

  • 基于Java语言压力测试工具;
  • JMeter是一款开源桌面应用软件;
  • 可用来模拟用户负载来完成性能测试工作;
  • JMeter也适合做接口的自动化测试
  • 安装要求:JDK1.8以上,配置环境变量
  • 下载链接: 点击此处

1.2 JMeter目录介绍

安装后目录如下图:
在这里插入图片描述

  • Bin:其中放置了各项配置文件(比如日志设置、JVM设置等)、启动文件(JMeter启动快捷方式,报告生成快捷方式,HeapDump快捷方式等)启动jar包、示例脚本等
  • jmeter.bat:启动文件
  • jmeter.log:jmeter的log
  • jmeter.properties:修改默认属性的配置文件
  • Docs:放置了 JMeter API离线帮助文档,Web方式
  • printable_docs:JMeter的离线帮助文件放置目录,是我们学习JMeter的绝好向导
  • \printable_docs\usermanual\component_reference.html:最常用的核心元件帮助手
  • Extras:JMeter辅助功能,提供与Ant、Jenkins集成的可能性,我们可以利用AntJenkins来构建性能测试自动化构Ant可以利用xsl脚本把XML格式的测试结果以HTML方式展示。
  • Lib:JMeter组件以jar包的形式放置在lib/ext目录下,如果我们要扩展JMeter组件扩展后的jar包即放在此目录,JMeter启动时会加载此目录下的jar包。JMeter依赖一些基础包放在lib根目录下,比如我们扩展了Java请求,这个扩展是为了完成我们特定的任务,而这个特定的任务程序需要依赖其他的包,那么这些jar包就放置在丨化根目录下。支持运行Junit测试类,其测试包放在lib/junit目录下面。
  • licenses:JMeterlicenses相关声明信息放在此文件夹,全部是文本文件,对测试没有任何 实际意义,可以忽略。
  • LICENSE:License 说明文件
  • NOTICE:版权声明
  • README: JMeter 简明介绍

1.3 JMeter中英文切换

方法:

1、控制台修改
menu -> options -> choose language
2、配置文件修改
bin目录 ->jmeter.properties • 默认 #language=en改为 language=zh_CN

1.4 JMeter基本原理

建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。
•如果取样器中有参数化的需求,可以通过配置元件或者前置处理器来完成;
• 如果有关联需求,可以通过后置处理器来完成;
•如果我们想要设置运行场景,比如模拟多少用户,运行多长时间,就设置线程组;
如果我们想要模拟并发场景,可以利用定时器来设置;
如果我们想要控制业务的执行逻辑,比如登录只运行一次,我们可以用控制器来完成。

1.5 JMeter 工作区介绍

• 区域①是一个目录树
• 区域②是测试计划编辑区域
• 区域③是菜单栏
在这里插入图片描述

2. JMeter体系结构

2.1 元件

元件代表JMeter工具菜单中的一个子菜单(功能),比如HTTP请求、事务控制器、响应断言等,就是一个元件。

2.2 组件

一组元件的集合(一个或多个),比如逻辑控制器中有事务控制器,仅一次控制器,循环控制器等,这些都是元件,但它们被归类到逻辑控制器中,逻辑控制器就是组件,下图中每个标签都是组件
在这里插入图片描述

①XI〜X5
是负载模拟的一个过程,使用这些组件来完成负载的模拟。
② Y1
包含的是负载模拟部分,负责模拟用户请求。
③ Y2
结果验证部分,负责验证结果正确性。
④ Z
负载结果的收集,实践上只有一个组成部分——监听器,监听器不仅可以放在线程组之内,也可以放在线程组之外,所以在图中我们看到它们是相交的。

2.2.1 常用组件

2.2.1.1 测试计划

一个脚本即是一个测试计划,也是一个管理单元。
在这里插入图片描述

2.2.1.2 线程组

性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的。线程就是虚拟用户。
在这里插入图片描述

setup thread group: 执行预操作测试 teardown thread group:执行测试后动作

2.2.1.3 取样器/采样器

用来模拟用户操作,向服务器(被测试系统)发出Http请求、WebService(SOAP/XML-RPCRequest)请求或者Java请求等。我们可以把Http请求元件看成是一个没有界面的浏览器,它可以发送Http请求,接收服务器的响应数据。
在这里插入图片描述

2.2.1.4 逻辑控制器

顾名思义就是控制程序逻辑了,JMeter逻辑控制器有很多种,比如循环控制器、随机控制器。
在这里插入图片描述

2.2.1.5 定时器

用来控制取样器的执行时机,有固定定时器、随机定时器等。
在这里插入图片描述

2.2.1.6 前置处理器

在请求发送前可能会做一些环境或者参数的准备工作,比如:参数化
在这里插入图片描述

2.2.1.7 后置处理器

从服务器响应数据中查找到我们需要的数据,比如:关联在这里插入图片描述

2.2.1.8 断言

用来验证结果是否正确,比如:检查点
在这里插入图片描述

2.2.1.9 监听器

添加结果监听,对测试结果进行处理和可视化展示。比如:察看结果树、聚合报告
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值