JMeter工具介绍、元件和组件的介绍

  • Jmeter功能概要

  • JDK常用文件目录介绍

Bin目录:存放可执行文件和配置文件

Docs目录:是Jmeter的API文档,用于开发扩展组件

printable_docs目录:用户帮助手册

lib目录:存放JMeter依赖的jar包和用户扩展所依赖的Jar包

  • 修改默认配置------Jmeter界面的汉化

临时性:

启动Jmeter->选择菜单"option"->Choose language->Chinese(Simplified)

永久性------修改配置文件:

找到Jmeter安装目录下的bin目录

打开jmeter.properties文件,把第37行修改为"language=zh_CN"

重启Jmeter即可。

  • 修改默认配置------修改主题

Jmeter默认主题是黑色的,可以通过以下步骤修改:

启动Jmeter->选择菜单"选项"->外观->windows(选择自己喜欢的主题即可)

  • Jmeter元件和组件的介绍
  • 元件的基本介绍

元件:多个类似功能组件的容器(类似于

  • 组件的基本介绍

组件:实现独立的某个功能(类似于方法

  • Jmeter元件作用域和执行顺序

  • 元件的作用域

元件的作用域:是靠测试计划的树形结构中元件的父子关系来确定的。

  • 元件的执行顺序

相同作用域下的不同元件:
配置元件 - 前置处理器 - 定时器 - 取样器 - 后置处理器 - 断言 - 监听器

相同作用域下的相同元件:
从上到下依次执行

  • 案例:执行顺序
  • 元件的作用域都围绕 取样器 为 核心
  • 固定定时器3是HTTP请求3的子节点,所以只对HTTP请求3起作用
  • 固定定时器2的父节点是 if 控制器(非取样器),所以只对HTTP请求2起作用(父节点下的所有后代节点起作用)
  • 固定定时器1的父节点是 线程组,所以对HTTP1,HTTP2,HTTP3都起作用
    由于 相同作用域下的相同元件从上到下的顺序依次执行,

所以执行顺序为:定时器1 - HTTP请求1 - 定时器1 - 定时器2 - HTTP请求2 - 定时器1 - 定时器3 - HTTP请求3

  • Jmeter第一个案例
  • 需求:使用Jmeter访问百度首页接口,并查看请求和响应信息

步骤:

  1. 启动Jmeter
  2. 在"测试计划"下添加"线程组"
  3. 在"线程组"下添加"HTTP请求"取样器
  4. 填写"HTTP请求"的相关请求数据
  5. 在"线程组"下添加"查看结果树"监听器
  6. 点击"启动"按钮运行,并查看结果
  • 线程组

作用:线程组就是控制JMeter用于执行测试的一组用户

位置:右键点击"测试计划"->添加->线程(用户)->线程组

特点:

  • 模拟多人操作
  • 线程组可以添加多个,多个线程组可以并行或串行
  • 取样器(请求)和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下组件
  • 线程组分类
  • 线程组(编写脚本)
    普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户。
  • SetUp线程组(前置处理、初始化)
    一种特殊类型的线程组,可用于执行预测试操作
  • TearDown线程组(后置处理、环境恢复等)
    一种特殊类型的线程组,可用于执行测试后工作



  • 线程组参数详解

练习:编写JMeter脚本,访问百度

要求:

  • 模拟10个用户并行执行;
  • 模拟10个用户5s内启动完成;
  • 模拟2个用户各循环3次;
  • 模拟2个用户运行30s;
  • 模拟2个用户等待10s后开始执行(持续时间5s)
  • 案例分析

使用1个线程组,添加HTTP请求(百度)

  • 配置线程数为2,循环次数为3时,运行观察结果

  • 配置线程数为3,循环次数为2时,运行观察结果,对比是否有不同
    相同点:从请求数量来说,是完全相同的
    不同点:场景不同

  • 线程数:代表用户数,即性能测试时的负载量(线程数为2比线程数为3对应的负载量小)

  • 循环次数:代表时间,即性能测试时的运行时间(循环次数3比循环次数2对应的时间长)

  • HTTP请求

作用:向服务器发送http及https请求

位置:选择线程组->右键->添加->取样器->HTTP请求

参数:

端口号:http默认80,http默认443

  • 案例一(使用HTTP请求路径来传递get请求参数)

(1)使用1个线程组,添加HTTP请求(百度),路径为/S

  • 使用HTTP协议,GET请求方法,路径中添加参数为:wd=test,运行观察结果。
  • 案例二(使用参数列表传递get请求的参数)
  • 使用HTTPS协议,GET请求方法,路径中添加参数为: wd = test,运行观察结果
  • 案例三(使用参数列表来传递POST请求的form格式参数)
  • 使用HTTPS协议,POST请求方法,消息体数据中添加参数为: wd = test,运行观察结果
  • 案例四:(消息体数据来传递post请求的form格式参数)
  • 使用HTTP协议,POST请求方法,消息体数据中添加参数为: wd = test,运行观察结果
  • 查看结果树

案例1:查看结果树种的HTTP请求种,有多个子请求的HTTP请求

原因分析:

  • 第一个HTTP请求中,URL错误,导致服务器产生了重定向,提供了新的URL路径
  • JMeter会自动发送第二个HTTP请求(使用第一个HTTP请求中返回的URL路径)
  • 点击最外层HTTP请求时,显示的内容与最后一个HTTP请求的请求和响应数据一致
    案例2:HTTP响应数据中存在乱码,需要修改取样器结果的编码格式

相关推荐
阿华的代码王国9 小时前
【性能测试】Jmeter详细操作-小白使用手册(2)
jmeter·性能测试·测试
追寻向上2 天前
软件性能测试深度解析(进阶篇):JMeter高阶应用与性能工程体系构建
功能测试·jmeter
爱学测试的雨果3 天前
Jmeter+ant+jenkins接口自动化测试
运维·jmeter·jenkins
川石课堂软件测试3 天前
涨薪技术|JMeter异步接口测试实战
服务器·数据库·sql·功能测试·jmeter·xss·安全性测试
一只小H呀の3 天前
金融项目实战
jmeter·金融
测试19983 天前
Jmeter进行http接口测试详解
自动化测试·软件测试·网络协议·测试工具·jmeter·http·测试用例
北珣.4 天前
使用JMeter(组件详细介绍+使用方式及步骤)
测试工具·jmeter
joker_zsl4 天前
Jmeter的脚本录制
jmeter
大霞上仙5 天前
jmeter阶梯式压测
jmeter
程序员三藏5 天前
Jmeter简单的压力测试
自动化测试·软件测试·python·测试工具·jmeter·测试用例·压力测试