Jmeter入门基础

本文详细介绍了Apache JMeter的基础知识,包括JMeter的界面构成、菜单栏和工具栏功能,以及如何创建和配置测试计划、线程组、HTTP请求、HTTP信息头管理器、响应断言和结果查看树。通过实例演示了从新建测试计划到运行测试的过程,适合初学者快速掌握JMeter的基本操作。
摘要由CSDN通过智能技术生成

目录


前言

作为软件测试常用工具,对于Jmeter基础,应该有足够的了解;


一、Jmeter简介

      Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

二、认识Jmeter界面

JMeter的主界面主要分为菜单栏、工具栏、树形标签栏和内容栏:

 

菜单栏:全部的功能的都包含在菜单栏中。

工具栏:工具栏中的按钮在菜单栏都可以找到,工具栏就相当于菜单栏常用功能的快捷按钮。

计划的树形标签栏:树形标签栏通常用来显示测试用例(计划)相关的标签。

内容栏:配合树形标签栏显示,树形标签中点击哪个标签,内容栏中就显示相应的内容和操作。

1.菜单栏

1.1.文件

  • 新建:新建测试计划
  • 模板:对常用的功能使用指导。主要有录制、JDBC测试、webserver测试等等,分为基本步骤和详细截图。 如果点用户链接,则会链接到apache jmeter 网站查看详细的步骤和截图指导。
  • 打开:选择打开一个JMX文件。
  • 最近打开:显示最近打开的JMX文件
  • 合并:选择JMX,将多个JMX合并为一个
  • 保存测试计划:仅保存测试计划 工作台中添加的内容不会被保存。
  • 保存测试计划为:将测试计划另存。
  • 选择部分保存为:可以对工作台和测试计划或者测试例另存为JMX 注意另存为是点哪个位置,存的就是哪个内容。
  • 保存为测试片段:存为一个测试片段,只有线程组、测试计划、工作台不能 保存为一个测试片段。
  • 还原:将现在修改过的JMX还原为曾经保存过的JMX
  • 重启:重启Jmeter
  • 退出:退出Jmeter

1.2.编辑

  • 剪切:选择当前所选文件进行剪切。
  • 复制:复制当前所选文件。
  • 粘贴:将复制的文件进行粘贴。
  • 复写:将当前所选文件复制到所选文件下方。
  • 删除:删除当前所选问价
  • 保存节点为图片:将菜单的配置GUI保存为图片。
  • 保存屏幕为图片:将整个jmeter界面保存为图片。
  • 启用:启用当前所选文件。
  • 禁用:禁用当前所选文件。
  • 切换:禁用或启动所选元件及元件所属子元件。
  • 帮助:打开帮助界面。

1.3.查找

  • 查找:搜索所有配置中匹配的项,匹配成功显示为红色。
  • 重置搜索:清除搜索结果。

1.4.运行

  • 启动: 启动运行测试计划
  • 不停顿开始: 无停顿启动运行测试计划 1,可以忽略定时器 2,再启动时运行更快
  • 远程启动/停止: 指定一个远程agent运行/停止测试计划。
  • 远程全部启动/停止: 让所有远程agent运行/停止测试。
  • 停止: 停止执行测试计划。
  • 关闭: 关闭测试计划。
  • 远程关闭: 关闭一个指定远程agent
  • 远程关闭所有: 关闭所有远程agent
  • 远程退出: 指定一个远程agent退出执行。
  • 远程退出全部: 所有远程agent退出执行。
  • 清除: 清除选择菜单的执行结果。
  • 清除全部: 清除所有菜单的执行结果。

1.5.选项

  • 外观:选择你喜爱的Jmeter界面样式。
  • 日志查看:选中后可以在右下方查看运行日志。
  • 日志级别:选择你所需要的日志类型。
  • SSL管理器: 导入外置的SSL管理器,用于更好的管理证书, JMeter代理服务器不支持记录 SSL(https)
  • 选择语言: 选择界面的语言,目前支持中文、英文、法语、德语等等。中文版很多翻译不全,可以直接使用英文版的。
  • 全部折叠:折叠所有菜单
  • 全部展开:展开所有菜单。
  • 放大:放大当前Jmeter界面字体。
  • 缩小:缩小当前Jmeter界面字体。
  • 运行前自动保存:在运行测试计划时,自动保存JMX

1.6.工具

  • 创建一个堆转储: 创建堆转储。这是创建当JVM崩溃的堆转储。这个文件可以用堆分析工具(如JHAT),以确定根本原因进行分析。
  • 创建一个线性转储:待补充。
  • 函数助手对话框: 在编写脚本的时候,使用函数助手可以协助生成指定的代码。

1.7.帮助

  • 这个节点是什么?: 当鼠标放在某个菜单的时候显示其含义。
  • 调试开: 开启调试。
  • 调试关: 取消调试。

2.工具栏

从左到右依次介绍如下:

  • :新建测试计划
  • :选择测试模板创建测试计划
  • :打开已存在的测试计划
  • :保存测试计划(文件以.jmx形式存储)
  • :剪切
  • :复制
  • :粘贴
  • :将测试计划下的所有元件展开
  • :将测试计划下的所有元件收回,只展示测试计划
  • :禁用或启动所选元件及元件所属子元件
  • :按照线程组设置运行测试计划
  • :立即运行测试计划
  • :停止当前运行的测试计划(当前线程执行完后停止)
  • :停止当前运行的测试几乎(杀进程)
  • :清除运行过程中元件显示的请求和响应数据(例如,监听器当前的内容、查看结果树、聚合报告等)
  • :清除运行过程中元件显示的请求和响应数据(例如,监听器当前的内容、查看结果树、聚合报告等)以及Jmeter日志
  • :查找(被查找信息所在元件被红框框选)
  • :清除查找(清除之前查找的元件的红框)
  • :函数助手
  • :帮助

三、Jmeter使用

1.新建测试计划

点击文件-新建,建立测试计划并在名称栏命名测试计划为IOT;

2.新建线程组

右键点击计划树标签中新建的IOT计划,选择添加-线程(用户)-线程组,将线程组命名为用户信息;

 

2.1.线程组基本设置

2.1.1取样器错误后要执行的动作:

  • 继续:忽略错误,继续执行
  • Start Next Thread Loop 忽略错误,线程当前循环终止,执行下一个循环。
  • 停止线程:当前线程停止执行,不影响其他线程正常执行。
  • 停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止
  • Stop test now:整个测试会立即停止执行,当前正在执行的取样器可能会被中断。

这几个配置项控制了当遇到错误的时候测试的执行策略是否会继续执行。

2.1.2.设置线程数:

线程数也就是并发数,每个线程将会完全独立的运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问。

2.1.3.设置ramp-up 时间(秒):

ramp-up period用于设置启动所有线程所需要的时间。如果选择了10个线程,并且ramp-up period100秒,那么JMeter将使用100秒使10个线程启动并运行。每个线程将在前一个线程启动后10100/10)秒后启动。

当这个值设置的很小、线程数又设置的很大时,在刚开始执行时会对服务器产生很大的负荷。

2.1.4.设置循环次数:

该项设置线程组在结束前每个线程循环的次数,如果次数设置为1,那么JMeter在停止前只执行测试计划一次。

2.1.5.延迟创建线程直到需要:

默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。

2.1.6.调度器

  • 持续时间(秒),控制测试执行的持续时间,以秒为单位。
  • 启动延迟(秒),控制测试在多久后启动执行,以秒为单位。

3.配置HTTP请求默认值

右键点击计划树标签中测试计划IOT,选择添加-配置元件-http请求默认值;

 

3.1.填写测试计划所用web服务器

  • 填写协议
  • 填写服务器名称与ip
  • 填写端口(若使用默认端口则不用填写)

4.新建HTTP请求

右键点击计划树标签中新建的用户信息,选择添加-取样器-http请求,并将http请求命名为用户登录;

4.1.查看F12-Content-type

在web浏览器(如Google浏览器)中打开开发者工具(F12),并在所测试系统页面点击登录,在F12中查看header;

 

4.1.1.Content-type的格式为:application/x-www-form-urlencoded

  • 表示:默认的。如果不指定content-type,默认使用此格式。
  • 是否需要配置HTTP信息头管理器:不用配置HTTP信息头管理器
  • 参数格式:key1=value1&key2=value2
  • 此时参数可以在参数(Parameters)或消息体数据(Body Data)里输入,格式不同,如下图所示。

这两个参数输入的tab页只能使用一个,某一个有数据后不能切换到另一个。 

4.1.2.Content-type的格式为:application/json

  • 是否需要配置HTTP信息头管理器:需要配置HTTP信息头管理器(一定要配)
  • 参数为json格式
    {

“key1”:“value1”,

“key2”:“value2”

}

  • 此时参数只能在消息体数据(Body Data)里输入

4.1.3.Content-type的格式为:multipart/form-data [dinghanhua]

  • 是否需要配置HTTP信息头管理器:不用配置HTTP信息头管理器
  • 上传文件会用到这种格式(目前我只遇到这样子的情况)
  • 操作如下:

a.在http请求编辑页面,选中Use multipart/form-data for POST

b.Parameters中输入除了上传的文件以外的参数:参数名和参数值

c.Files Upload中上传文件,参数名和MIME类型

4.2.新建HTTP信息头管理器

查证content-type为application/json,于是右键添加-配置元件-HTTP信息头管理器,新建HTTP信息头管理器;

4.2.1.配置HTTP信息头管理器

在信息头存储在信息头管理器中配置content-type为application/json

4.3.配置用户登录文件,按照F12中Headers

  • 其中Web服务器一栏,在HTTP请求默认值中已配置,可不用填写,若没有配置则需要填写;
  • 按照Headers选择HTTP请求方式为POST,路径为/base/login;
  • 消息体数据为:

{

  "username": "admin",

  "password": "888888"

}

 

5.添加响应断言

右键点击计划树标签中新建的用户信息,点击添加-断言-响应断言;

  • 断言的作用:一个HTTP请求发出去,怎么判断执行的任务是否成功呢?通过检查服务器响应数据,是否返回预期想要的数据,如果是"code":"000000",判断任务成功,反之任务失败。
  • 配置断言:

a.测试字段选择响应文本;

b.测试模式填写"code":"000000"

 

 

6.添加结果查看树

右键点击计划树标签中新建的用户信息,点击添加-监听器-查看结果树,新建查看结果树;

 

7.点击运行

  • 查看响应数据-Response headers,返回200,请求成功;
  • 查看响应数据-Response body,成功显示assessToken;

 


总结

今天,主要对Jmeter基本使用,进行了整理汇总,如果之后对Jmeter有更深入使用领会,会继续了解更新;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值