Jmeter快速入门

Jmeter快速入门

1、 Jmeter概述

  • Jmeter是什么

    Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。所谓的压力测试,就是同一时间段内对服务器发送大量的请求,一般用于测试高并发情况下软件的运行状况如何。

  • Jmeter有什么用

    可以用于对服务器、网络或对象模拟巨大的负载,通过创建带有断言的脚本来验证程序是否能否返回期望的结果。

    JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

  • Jmeter的优缺点

    • 优点
      • 开源免费
      • 跨平台
      • 支持多协议
      • 灵活轻巧
    • 缺点
      • 不支持IP欺骗
      • 无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试

2、Jmeter安装

  • Step1:安装Java环境,即安装JDK

    Jmeter是由Java编写的,所以必须要有Java环境才能使用

    JDK(Java Development Kit,Java开发工具包):包含了JRE(JVM+Java系统类库)和 JAVA开发工具

    具体安装请自行搜索,这里不在赘述

  • Step2:下载Jmeter

    Jemter官网:Apache JMeter - Download Apache JMeter

    image-20230202185458131

  • Step3:解压Jmeter,解压后不要急着启动Jmeter,解压前还需要去它的配置文件中进行配置

    1)配置编码

    image-20230202190524446

    Jmeter默认是使用ISO-8859-1编码规则,不配置启动Jmeter会出现乱码。但是自Jmeter5.4.1开始,Jmeter就已经默认支持UTF-8

    image-20230202190712546

    2)关闭SSL

    JMeter 软件打开后默认会使用 SSL,如果电脑中没有安装 SSL,则 JMeter 在第一次打开后会报错。在文件 jmeter.properties 中使用如下代码关闭 SSL。关闭之后,以后打开 JMeter 就不会报错了

    image-20230202190912852

    3)汉化Jmeter

    image-20230202191040384

    4)开启Cookie

    如果需要模拟含 Cookie 的 HTTP 请求,则需要在文件 jmeter.properties 中添加如下代码

    image-20230202192314840

  • Step4:启动

    image-20230202192446323

    备注:使用方式一是直接就启动了Jmeter的图形化界面;使用方式二会开启一个CMD窗口,然后启动图形化界面,注意开启的CMD窗口不能关闭,否则Jmeter图形化界面也会跟着关闭

3、基本使用

在使用前,需要先熟悉以下这些基本概念

image-20230202192348047

取样器

  • 取样器:用于发送请求

image-20230202195057671

image-20230202200337600

结果树

  • 结果树:会将请求结果以树的形式展示出来

image-20230202195133135

线程组

  • 线程组:简单来说就是一个线程集合,线程组的出现是为了更方便地管理线程。一个线程组可以包含另一个线程组
  • setUp线程组:最优先执行的线程组(相较于普通线程组而言)
  • tearDown线程组:最后执行的线程组(相较于普通线程组而言)

image-20230202194953817

image-20230202195026198

HTTP请求默认值

  • HTTP请求默认值:如果多个HTTP请求存在大量相同的配置,可以通过HTTP请求默认值简化HTTP请求相关的配置

image-20230202195955663

HTTP信息头管理器

  • HTTP信息头管理器:当我们发送的请求,需要传递JSON数据,则需要设置传递数据的格式

image-20230202200108982

Content-Type application/json;chartset=utf-8

image-20230202202342352

参数化

  • 参数化:动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案,提交脚本的编写效率以及编写质量。

    作用和HTTP默认值,类似,都是为了简化书写,通过参数化,我们可以较少配置

    以下四种方式实现参数化:

    • 用户定义的变量
    • CSV数据文件设置
    • 用户参数
    • 函数
  1. 用户定义变量

    image-20230202203209700

    image-20230202203401680

    现在我们的取样器中的请求路径,就可以直接使用${myPath}替代/api/index/,相当于配置了一个全局变量

  2. CSV数据文件设置常用

    先准备一个CSV数据文件,注意该文件一定要是UTF-8编码格式,否则会出现乱码现象(详情配置见P17)

    image-20230202203854882

    示例

    发送一个保存数据的请求

    csv.txt:

    1,张三,18
    2,李四,19
    

    配置CSV数据文件设置:(变量名要和上cvs.txt文件中数据保持一致)

    image-20230202204740451

    消息体数据中直接通过${}引用,就可以发送多条请求保存数据的请求了,每次请求都只保存一条记录

    image-20230202204757711

    注意:

    image-20230202205135583

  3. 用户参数

    image-20230202205540086

    image-20230202205709288

    image-20230202205749655

    使用${}引用用户参数

    image-20230202205840084

  4. 函数

    image-20230202210355343

    将这个复制到HTTP请求名上,这样每一个线程都有一个独立的计数器了

    image-20230202210448485

    此外还有随机函数Random,生成${_Random(1,3,)},生成数的区间是[1,3]

    还有Time,生成${_time(,)},生成当前的时间戳,如果想要显示具体的事件,可以通过下面这种方式进行设置

    image-20230202210930618

参考文章

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JMeter是一个开源的性能测试工具,用于对软件应用进行压力测试、负载测试和功能测试。下面是JMeter入门到精通的一些步骤和要点: 1. 安装和启动JMeter: - 下载JMeter并解压缩到本地目录。 - 运行bin目录下的jmeter.bat(Windows)或jmeter.sh(Linux)启动JMeter。 2. 创建测试计划: - 在JMeter中,测试计划是所有测试元素的容器。右键点击测试计划,选择"Add" -> "Threads (Users)" -> "Thread Group"来创建一个线程组。 - 线程组定义了并发用户的数量、循环次数等参数。 3. 添加测试元素: - HTTP请求:用于发送HTTP请求,可以模拟用户与Web应用的交互。 - 断言:用于验证响应结果是否符合预期。 - 监听器:用于收集和展示测试结果,如查看响应时间、错误率等。 4. 配置测试元素: - 线程组配置:设置线程数、循环次数、启动延迟等。 - HTTP请求配置:设置请求URL、请求方法、参数等。 - 断言配置:设置断言条件,如响应代码、响应内容等。 5. 运行和分析测试: - 点击工具栏上的"运行"按钮开始执行测试。 - 在测试运行期间,可以使用监听器实时查看和分析测试结果。 - 测试完成后,可以导出测试报告并进行性能分析。 6. 高级功能: - 参数化:使用CSV文件或数据文件来动态生成测试数据。 - 断言逻辑:使用逻辑控制器来定义断言的执行顺序和条件。 - 分布式测试:使用多台机器同时执行测试,以模拟更大的负载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识汲取者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值