JMeter 入门实践指南

前言

Apache JMeter是测试工程师日常工作中经常会使用的一款软件,它可用来测试接口、模拟用户负载来完成性能测试工作,可以对web应用或各种服务的性能进行分析和度量。它具有开源高扩展性,使用成本低的特点,是当前使用率最高、最好用最全面的性能测试工具之一。本篇文章为大家详细描述了在使用 JMeter 进行测试时常用的测试场景的脚本编写方法,希望能为你带来一些帮助,推荐收藏,作为工具书查阅。

JMeter 有什么优势?

开源免费:开源意味着高扩展性,免费意味着使用成本低;

高扩展性:支持可视化插件进行扩展测试;

友好GUI:界面简单易用;

可移植性:100% 纯 Java 桌面应用程序,可以多平台运行;

安装方便:组件小,下载安装包解压,配置路径即可使用;

完全多线程:可以通过多个线程组并发取样,也可通过单独的线程组对不同的功能同时取样;

结果可视化:可视化界面展示执行结果和你可能需要关注的性能指标;

多测试策略:比如功能测试、负载测试、分布式测试;

录制回放:支持多种录制脚本的方法,最常见的是第三方工具 Badboy 录制,还有JMeter自身设置来录制脚本;

仿真:可以模仿真实的用户行为;

支持多协议:支持 HTTP、HTTPS、FTP、SOAP / REST、LDAP等多种协议;

支持脚本测试:可以自行编写 bean shell、java脚本进行测试。

下面我们就来了解下如何使用JMeter来进行脚本的开发,首先你要先安装上它。

下载与安装

一、下载地址:Apache JMeter - Download Apache JMeter

二、选择需要版本的zip包(解压安装方式时)

三、文件解压缩,把下载的zip文件解压缩到你的安装目录

四、配置环境变量(适用win10系统)

  1. 系统搜索栏搜索环境变量——弹窗中点击环境变量

  1. 新建JMETER_HOME变量:值为你解压的JMeter安装路径

  1. 编辑classpath变量,在其后追加如下配置:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

五、安装完成

JMeter 安装路径——bin——jmeter.bat,鼠标右键管理员方式运行/双击运行

注意:JMeter 3.0需要对应安装jdk1.7,JMeter 4.0对应jdk1.8以上,否则启用 JMeter 也会报错

快速开始

JMeter 导航栏

初次使用 JMeter 的伙伴可能对界面上的一些元素不太熟悉,下面就通过一张图来说明一些常用元素的含义 。

你也可以打开已存在的脚本,路径为:文件——打开——选择jmx文件即可。

如何进行脚本录制?

使用Badboy进行脚本录制

下载与安装

  1. 下载地址(非官方):https://www.cr173.com/soft/874188.html
  2. 解压后执行exe文件,选择安装目录,下一步确认安装即可

Badboy使用

  1. 双击BadBoy图标,打开BadBoy;
  2. 地址栏输入录制网址,打开网址;
  1. 录制场景;
  2. 录制完成后点击保存,将录制结果保存为BadBoy脚本,以备后面使用;
  1. 点击File->Export to JMeter,保存为JMeter脚本;
  2. Jmeter打开录制脚本,点击File——Open——选中文件。

使用 JMeter 的代理服务器功能进行脚本录制

  1. 在测试计划——线程组——逻辑控制器——添加录制控制器;
  2. 在测试计划中添加非测试元件——HTTP 代理服务器,配置如下图;
  1. 在代理服务器下添加定时器——高斯随机定时器,并配置固定延迟偏移为${T},用于告知 JMeter 在其生成的 HTTP 请求中自动添加一个定时器,定时器会使相应的取样器被延迟,规则为当上一个请求被响应并延迟了指定时间后,再发送下一个请求;
  2. 360浏览器中工具——Internet选项——连接——局域网设置中配置浏览器的局域网代理服务器信息为 localhost,端口为8080;
  1. 开启代理服务器的启动功能,在浏览器中进行系统访问即可进行录制,录制完成后可进行脚本保存,别忘了恢复浏览器的代理服务器设置。

录制效果如图:

但是并不推荐使用脚本录制工具,更推荐手动编写脚本,原因如下:

  1. Badboy 无法支持所有网站的脚本录制,很多网站都不太支持,会出现脚本运行错误;
  2. 使用jmeter配置代理进行录制也很难用,因为录制时每个 js、png 及动态请求都会录制下来,很不高效;
  1. 即使可以录制的网站,其录制脚本的 session 信息也易失效,不具有持续性;
  2. 录制脚本也很容易回放失败。

测试脚本必需元件

JMeter 中一个脚本就是一个测试计划,也是一个管理单元。测试计划需要包含以下要素:

脚本中测试计划只能有一个:JMeter 脚本在 GUI 显示树型结构,测试计划是根节点

测试计划中至少要有一个线程组:JMeter 负载通过线程组驱动,可以建立多个线程组

至少有一个取样器:测试的目的是模拟用户请求,没有取样器的脚本毫无意义

至少有一个监听器:我们需要从结果中分析衡量系统性能

线程组

添加线程组 一个测试计划可添加一个或多个线程组,其中多个线程组的运行采用的是并行的方式,即同时被初始化及同时执行其下的 Sampler。

配置参数:

  1. 线程数:模拟的用户数量;
  2. Ramp—Up Period (in seconds):达到指定线程需要的时间,例如线程数为100,时间设定为10s ,即10s 加载100 个线程,每秒启动的线程数=100/10=10;
  1. 循环次数:每个线程发送请求的次数。

取样器

添加 Sampler 取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值