如何使用JMeter记录测试场景

Jmeter,recording模板录制脚本(https) 录制脚本选择录制模板配置录制地址配置http请求默认值浏览器配置代理启动录制查看录制结果 选择录制模板 1、点击template图标 2、下拉框选择recording 3、点击create按钮,进入下一步,配置录制地址等信息 配置录制地址 1、填写录制信息,填写好后,点击create按钮就会自动生成testplan信息 hostToRecord是录制地址,例如www.baidu.com recordingOutputFile schemeToRecord是网络协议http或https 2、自动生成的t 阅读详情

提供:ZStack云计算

系列教程

本教程为利用Apache JMeter进行负载测试系列两篇中的第二篇。

内容介绍

在本教程中,我们将了解如何设置并利用Apache JMeter HTTP(S)Test Script Recorder记录HTTP请求。根据HTTP请求构建测试规划是一种非常科学的实践方式,能够模仿普通用户的日常操作以帮助我们理解应用上线后的负载处理情况。

本篇教程要求大家具备一定的Apache JMeter基础知识。如果大家刚刚接触JMeter,请参阅如何利用Apache JMeter在Web服务器上执行负载测试一文。

先决条件

下面来看本教程需要的软件清单:

作为参考,我们将使用以下软件版本:

  • 甲骨文Java 7 update 60, 64位
  • JMeter 2.11
  • Firefox 30.0

首先建立测试规划

先启动JMeter,而后构建一套测试规划。如果大家已经制定出了规划,那么可以直接跳过这一步,直接阅读Recording Controller部分。

至少,我们需要添加一个Thread Group以及HTTP Request Defaults。下面从添加Thread Group开始。

添加Thread Group

向Test Plan中添加Thread Group:

  1. 右键点击Test Plan
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Threads (Users) >
  4. 点击Thread Group

使用以下值设置Thread Group属性:

  • Number of Threads (users): 设定为50
  • Ramp-Up Period (单位为秒): 设定为10
  • Loop Count: 保留为1
添加HTTP Request Defaults

下面向Thread Group中添加HTTP Request Defaults:

  1. 选定Thread Group并右击
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Config Element >
  4. 点击HTTP Request Defaults

在HTTP Request Defaults中的Web Server部分内,将Server Name or IP字段替换为大家需要测试的Web服务器名称或IP地址。

如果大家的Web服务器使用cookies,则可向Thread Group添加HTTP Cookie Manager以实现cookies支持:

  1. 选定Thread Group并右击
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Config Element >
  4. 点击HTTP Cookie Manager

添加Recording Controller

现在向Thread Group中添加Recording Controller:

  1. 选定Thread Group并右击
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Logic Controller >
  4. 点击Recording Controller

Recording Controller为所记录HTTP Request样本的创建位置。在下一步中,我们将设置HTTP(S)Test Script Recorder。

添加HTTP(S) Test Script Recorder

现在向WorkBench中添加HTTP(S) Test Script Recorder:

  1. 选定WorkBench并右击
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Non-Test Elements >
  4. 点击HTTP(S) Test Script Recorder

注意:被添加至WorkBench中的条目并不会被保存至test plan的其余部分。如果大家希望保存WorkBench,请右键点击WorkBench而后点击Save Selection As…,最后将其保存在理想的位置。保存后,我们可以利用“Merge”菜单条目将其添加至任意已经打开的test plan中。

端口设置

HTTP(S) Test Script Recorder 代理的默认端口为8080。大家可以在Global Settings下变更Port设置对此进行调整。

包含或排除URL模式(可选)

在HTTP(S) Script Recorder中,我们可以添加URL模式(URL Patterns),这些模式以正规表达式编写,从而实现包含或排除。大家可以利用这种方式确保只包含希望请求的内容类型(例如.html,.php等等)或者排除不需要的内容类型(例如.jpg,.png等等)。

要添加一条URL Pattern,点击URL Patterns to Include或者URL Patterns to Exclude部分中的“Add”按钮,而后点击这一区段顶部的白色区域。现在大家应该可以输入一种模式了。重复此过程以添加更多模式。

示例:网页URL Patterns:

.*\.html
.*\.php
.*\.htm

示例:图片URL Patterns:

.*\.png
.*\.jpg
.*\.gif

大家可以利用以下URL Patterns to Exclude屏幕将图像排除在外:

向Script Recorder中添加条目(可选)

向HTTP(S) Test Script Recorder中添加JMeter条目能够使已记录请求继承这些新增条目。例如,如果我们向Script Recorder中添加了一个Timer条目,该Timer将被添加至每条被记录的HTTP Reques当中。当测试运行时,该Timer会要求各测试线程等待此HTTP Request执行完成后再开始运行。

下面向HTTP(S) Test Script Recorder中添加一条Constant Timer:

  1. 选定HTTP(S) Test Script Recorder并右击
  2. 鼠标悬停于Add >
  3. 鼠标悬停于Timers >
  4. 点击Constant Timer

大家可能需要每两秒点击不同页面以模拟用户操作。将线程延后设计为2000 ms即可实现这一效果。

这还只是一种使用示例,大家可以充分发挥利用Script Recorder完成自己需要的测试。

开始记录

点击Script Recorder窗口底部的“Start”按钮以启动JMeter代理服务器,其可用于截取并记录浏览器请求。

在初次尝试时,其会显示错误称无法启动,这是因为证书尚不存在。点击OK,而后再次点击Start按钮。这时提示消息会显示ApacheJMeterTemporaryRootCA.crt证书已经被创建在JMeter bin目录当中。点击OK并继续。

注意:如果大家的浏览器已经具备代理,则需要配置JMeter以使用该代理,具体方法为使用命令行选项-H与-P。

配置火狐浏览器以使用JMeter代理

我们将利用火狐作为示例浏览器,这是因为它允许我们选择其它配置来取代默认代理选项。

配置火狐在端口8080上使用localhost(127.0.0.1)作为全部流量代理:

  1. 打开火狐
  2. 前往偏好菜单
  3. 点击“高级”标签
  4. 点击“网络”标签
  5. 在“连接”部分中选定“设置……”
  6. 点击“手动代理配置”按钮
  7. 将HTTP代理设置为”localhost”,端口为”8080”
  8. 点击“为全部协议使用此代理服务器”
  9. 点击OK并退出

注意:当火狐利用JMeter的Script Recorder作为代理时,其只能在后者运行时方能正常起效。

记录HTTP请求

现在我们的test plan已经准备就绪,火狐浏览器也设置完成,全部HTTP请求都将得到记录。下面开始测试。

在火狐中访问服务器主页:

http://your_domain.com/

现在Recording Controller旁应有一个小三角,点击并展开,显示其已经记录的请求。

以下为我在访问WordPress站点主页时的记录内容示例:

可以看到,这里创建了大量请求。大家可以删除掉不必要的条目以定义HTTP请求列表。

如果大家在Recording Controller下看不到任何条目,则应审查HTTP(S) Test Script Recorder下的URL Patterns(提示:移除全部包含与排除条件即可记录全部请求)。

记录完成后,点击HTTP(S) Test Script Recorder窗口底部的“Stop”按钮。注意,这时浏览器将无法访问任何页面(因为其被配置为使用端口8080作为代理)——要恢复功能,请将其配置为“不使用代理”。

运行自己的Test Plan

到这里整个设置流程就结束了,大家可以根据自己的实际情况与需要进行随意测试。

总结

现在我们已经能够利用HTTP(S) Test Script Recorder协助JMeter test plan的创建,并应对各类实际场景了。请随意探索Recording Controller中的已记录请求,并借此掌握用户在浏览Web服务器时的操作轨迹。

本文来源自DigitalOcean Community。英文原文:How To Use JMeter To Record Test Scenarios By Mitchell Anicas

翻译:diradw

JMeter脚本录制-快速上手篇 有的项目应用场景下,压测时,需要考虑带宽因素,压测不只是压测接口,静态资源也要一起压测。一般来说,静态资源比较多,如果一个个手工去写请求,是比较繁琐的,此时,可以使用Jmeter的脚本录制功能。 步骤1,创建脚本录制模版。 JMeter菜单:文件>模版,下拉选择到Recording,点击“Create”按钮; 填写录制参数: hostToRecord:填写要录制的主机域名,例如,我们这里填入:www.baidu.com schemeToRecord:填写要录制的模式,例如,htt... 阅读详情

相关推荐

Jmeter使用中遇到的问题整理记录

jmeter脚本、场景、结果、问题、jmeter常用设置

qq_26875163的博客 1279

jmeter之脚本录制

jmeter脚步的录制一般分为两种,1.badboy录制脚步,然后倒入jmeter 2.jmeter本身录制脚本。本文介绍jmeter本身的脚本录制,步骤如下:注:步骤11中的URL Pattern to include,其实就是包含模式。,代理服务器端口号是8080 转载于:https://blog.51cto.com/7080696/1879605...

weixin_34194087的博客 107

Linux环境下搭建jmeter+ant+Jenkins持续集成测试平台记录

文章详细记录了在linux环境下从零到1一搭建jmeter+ant+jenkins的所有操作步骤,对ant的build.xml有详细介绍,包含数据清理,打包压缩,发送报告等内容。希望对你有所帮助!

m0_60545132的博客 4827

JMeter之压力测试——混合场景并发

JMeter混合场景并发压力测试

weixin_45189665的博客 9628

TIDB--JMETER测试报告

类别值集群名称tidb-test集群版本v6.3.0。

justlpf的专栏 523

【专业书1】量化交易——从入门到精通

股票季节性策略几乎失效了,但商品期货的仍有效,因为其季节性需求源于真实的经济需求而非投机。交易策略获利的前提:交易价格处于均值回归(低价时买入)或动量状态(降价时先做空后以更低价买入),否则在随机游走状态下是无法有效交易的。构建交易策略实际上是在决定:在特殊条件、特定时间尺度下价格趋势的呈现(均值回归/趋势走势),以及用什么价格作为初始判断的参考价格。如果以高夏普比率为目标,需要更高的交易频率:基于大数定律,押注越多,偏离均值收益的偏差就越小。买同比最好的股票,卖同比最差的股票。但在不同的时间尺度下可以。

weixin_44589682的博客 1552

JMeter集结点的使用场景以及如何使用?

如果要对分布式系统进行性能测试,例如分布式数据库、微服务架构等,使用集结点可以模拟并发请求和负载分布在多个节点上,更接近实际应用场景。需要注意的是,在使用集结点时,主节点通常也会执行一部分负载,因此需要根据主节点的配置和性能来确定最大负载能力。在弹出的对话框中,输入每个从节点的IP地址和端口号(默认端口是1099)。确保测试计划文件在所有从节点上都可用,可以通过拷贝文件到相应的从节点上来实现。主节点将协调每个从节点上的JMeter实例,发送测试任务给每个从节点。点击“启动”按钮,从节点将尝试连接到主节点。

2401_83014899的博客 634

Python爬虫实战:5分钟搞定慢慢买历史价格查询(附完整代码)

本文提供了一份Python爬虫实战指南,教你如何快速编写脚本自动查询慢慢买网站的商品历史价格。文章详细拆解了环境准备、接口分析、核心代码实现及常见问题应对,并附有完整代码,帮助读者将爬虫技术应用于日常比价,实现高效购物决策。

weixin_29053577的博客 1015

jmeter性能测试场景记录

jmeter本身对线程数没有限制,但是jmeter钱这些并发用户数的时候,需要消耗资源,收到 电脑spu的主频限制,一条电脑不可能无限制的启动线程数,实际情况下,http协议大概可以产生1500左右,保守一点是1000左右,如果要模拟超过1000的并发线程数,可能需要考虑分布式。测试结论:并发数是18,对应的响应时间是1.2s左右。应用场景:接口1线程数是10,接口2线程数是20,接口3线程数是30,并且接口之间有关联,分别设置三个线程组,每个线程组的线程数不一样,三个线程组之间传参可以跨线程组传参。

beginningL的博客 2185

【gridsample】地平线征程6芯片中gridsample算子的优化与部署实践

本文详细介绍了地平线征程6芯片中gridsample算子的优化与部署实践,重点探讨了PTQ和QAT量化方案在BEV感知任务中的应用。通过双线性插值优化、内存布局调整和混合精度配置等关键技术,显著提升了算子在自动驾驶场景下的性能和精度,为开发者提供了实用的部署指南和调优建议。

zero1的博客 1021

基于STM32F4通用定时器实现Livox激光雷达PPS硬件同步的工程实践

本文详细介绍了基于STM32F4通用定时器实现Livox激光雷达PPS硬件同步的工程实践。通过分析PPS信号的时序要求,对比不同定时器的特性,并提供完整的代码实现与调试技巧,帮助开发者解决多传感器数据融合中的时间同步问题。实测表明,该方案在车载环境中稳定运行超过2000小时。

weixin_30540691的博客 327

JMeter - 业务场景的自动化测试记录

思路: 1、配置数据在数据库表(通过数据库表配置场景) 2、根据表初始化数据到CSV文件 3、运行JMeter 场景测试项目

LMAKE_nbsp的博客 586

高通引导文件获取全攻略:ELF/MBN提取与EDL救砖实战

在智能手机底层维护中,引导加载程序(Bootloader)是系统启动的第一道关卡。高通平台通过PBL、SBL1/XBL等阶段完成硬件初始化和安全校验,一旦引导分区损坏,设备便可能陷入黑砖状态。此时,掌握ELF与MBN格式的引导镜像获取方法,成为维修工程师和刷机用户的核心技能。通过官方固件包解包或借助EDL模式直接从设备分区备份,均能获得原厂匹配的引导文件。配合Firehose工具和9008端口通信,即可实现分区级读写与救砖恢复。本文从启动链路原理出发,对比两种获取路径的适用场景,并针对驱动识别、文件校验、分

weixin_30175731的博客 428

性能测试-jmeter实战4

文章摘要: 本文详细介绍了性能测试工具JMeter的环境搭建与配置方法。首先需要安装Java环境并配置相关变量,随后下载JMeter解压并设置环境变量。文章提供了Windows/Linux系统的具体安装步骤,包括插件安装、分布式测试配置及常见问题解决方案。核心内容包括JMeter的主要组件(测试计划、线程组、采样器等)、适用场景(Web/API测试、数据库压测等),以及通过命令行或GUI模式启动测试的最佳实践。最后强调了生产环境压测建议使用命令行模式,并配合监听器进行结果分析。

春风若有怜花意,可否许我再少年 1240

MiniOSD DIY记

最近迷上了航模,研究了很多东西,感觉路走的长了还是适当要停下脚步休息下总结下。 这次DIY的是一块OSD设备,主要用于航模图传的叠加显示,原理也很简单就是atmel atmega328p+MAX7456芯片,网上卖的成品基本上都是一个原理图。 原理图 我按照我自己的需要做了适当的更改,去掉了DC-DC电路,直接用5V输入,因为摄像头都是5V的,所以DC-DC不是很有必要,体积上更加小了点, 打...

memoff的博客 8539

Image Sensor常见分辨率下HTS,VTS设置

image sensor,HTS,VTS

propor的专栏 4975

jmeter-稳定性测试记录数据时遇到的问题随记

场景:100个用户10s加载完成执行24h 主要记录的数据有应用服务器,数据库服务器,本地客户端CPU使用率,内存占用率,网络占用Incoming平均avg。 因为第一次使用命令执行场景时,运行15min后发现空闲内存只剩下几百兆了,并且一直在减小,并且出现错误率,导致服务器挂掉,后终止命令打开jmeter运行约14h后发现是一个接口报错了,然后开发重新调试后,用jmeter运行3小时候发现未报...

GMF_guo的博客 946

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

weixin_43567873的博客 299

jmeter tps指标在哪里看_Jmeter接口测试+压力测试的实践记录

背景:需要对接口进行压力测试,服务器CPU占用率80%以上的场景。window客户端发送请求到linux服务器,选择用jmeter和nmon来完成。初学者不懂的地方可以加我xyd118118准备:安装jdk,解压jmeter(免安装)。计划步骤:1.用jmeter调通压力测试环境上的接口;2.不同场景压测,nmon记录服务器性能情况;3.分析压测数据。接口测试Jmeter-http接口脚本一般分五...

weixin_39760721的博客 251

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

linux jmeter 配置,linux-jmeter负载机配置记录

在网上看到了大量的jmeter的安装的教程,但是关于linux下安装jmeter的教程却很少,虽然简单,但没有个指导,过程总归是痛苦的,为了应对日益老化的大脑> 分布式意义:在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能-dhcpd.confOption dom...

weixin_36163782的博客 351

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Jmeter if控制器使用说明

1、在线程组中添加-->逻辑控制器-->if控制器。主要是为了控制流程,对流程的正常分支做处理。立即呼叫的时候可能有【正常呼叫,有待支付的订单,有已呼叫的记录】,需要有三个if控制器控制流程 2、具体可以用两个函数__groovy()或者是__jexl3()函数 3、匹配的内容较多,可以使用[.\s\S]+? 代表中间省略的各种内容 转载于:https://...

weixin_30439131的博客 1434

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Jmeter系列(1)- 环境部署、Jmeter的详细介绍、 Jmeter安装目录介绍、Jmeter面板介绍、jmeter.properties常用配置项讲解

FTP通过JDBC连接数据库(支持各种数据库)LDAP通过JMS的面向消息的中间件(MOM)邮箱协议 - SMTP(S), POP3(S) and IMAP(S)本机命令或Shell脚本TCPmacwinbin包含启动、配置等相关命令自己写的脚本默认另存为该目录下docs官方接口文档,二次开发需要了解的一些接口extras辅助库,持续集成会用到(后面讲)lib存放各种 Jmeter 核心库的源码 jar 包存放自己二次开发的 jar包。

qq_41663420的博客 417

使用 Apache JMeter Flexible File Writer 插件的详细指南

Apache JMeter 是一个强大的开源工具,广泛用于性能测试和负载测试。为了更好地记录和分析测试结果,JMeter 提供了多个监听器(Listener)来收集数据。Flexible File Writer 是一个非常有用的插件,它允许用户以自定义格式将测试结果写入文件中。本指南将详细介绍如何安装、配置和使用 Flexible File Writer 插件。Flexible File Writer 插件为 JMeter 用户提供了灵活的数据记录功能,允许用户根据需求自定义输出格式和内容。

霍格沃兹测试学院的博客 1211

性能测试-jmeter实战2

性能测试场景:性能测试环境搭建、性能测试指标、性能测试计划

春风若有怜花意,可否许我再少年 1345

记录一次jmeter压测的过程!

在软件架构与中间件实验的最后,要求进行非功能测试,那得非压力测试莫属了。虽然之前学习秒杀项目的时候看视频里面用过jmeter,但没有自己实操过,趁着这次机会,使用一下。

m0_47485438的博客 470

jmeter性能测试实例_如何掌握Jmeter性能测试相关操作?Jmeter保存下载文件实战篇...

JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,大家可以到官网下载源代码和查看相关文档。 关于使用JMeter进行JDBC数据库测试、HTTP请求接口测试、结合Badboy录制功能进行网站性能测试等内容,网上的资料比较丰富,这里就暂时不做介绍了。更实用和灵活的场景,是Jmeter保存下载文件利用用户自定变量。这里主要记录一下我在学习这种测试方式时遇到的一些问题,和总体流...

weixin_39613839的博客 211
上一篇: 如何在Web服务器中利用Apache JMeter执行负载测试
下一篇: 如何配置Linux服务,确保崩溃或重启后自动加以运行——第一部分:应用实例
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值