LR 录制Web(HTTP/HTML)脚本的模式选择

2023-11-07

LR 录制Web(HTTP/HTML)脚本的模式选择

         Loadrunner进行Web(HTTP/HTML)协议录制时有两种录制模式,HTML-basescript和URL-base script,两种模式在录制的脚本和统计数据上具有较大的差异,具体分析如下:

1.协议介绍:

HTML(超文本标记语言):一种用于制作超文本文档资料的简单标记语言,用HTML编写的超文本文档能够独立于各种操作系统平台。从诞生开始,HTML语言就一直被用于描述web页面格式设计,使用HTML语言描述的文件需要通过WWW浏览器显示效果。

HTTP(超文本传输协议)::HTTP是一个属于应用层的面向对象的协议,用于传送WWW方式的数据,采用请求\响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本,以及包含请求修饰符、客户信息和内容的类似于HTML的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息,实体元信息以及可能的实体内容。

2.脚本录制方式:

HTML-based 方式对每个页面录制形成一条语句,对LoadRunner来说,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。是LR的默认录制协议,特点是可以为每个用户请求生成单独的函数,使用HTML-based script录制的脚本直观,易于理解和维护。

URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式。基于URL-based script模式录制生成的脚本内容看起来会比较多,好象将HTML方式中的一个函数拆分成了很多独立的函数一样,但是这种脚本的可伸缩性更强,记录了更详细的用户操作信息。

3.录制特点:

HTML-mode录制的特点

1.资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。

2.由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。

3.可以插入图片检查之类的语句以检查结果是否正确。

4.因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。

HTTP-mode录制的特点

URL-based script即通常所说的低层次录制模式,这种模式录制的脚本相对长,不利于阅读,但脚本更直观,它把客户端向服务器端发送的每一个请求都放在一个单独的Web_URL中,即一个请求对应一个Web_URL,页面和图片分别生成对应的Web_URL,相对HTML-basedscript模式把类属一个页面的请求放在一个Web_URL中的方式,URL-based script模式的脚本更直观。

HTML-based script模式的脚本回放时需要更多的内存和CPU。URL-based script模式录制的脚本更灵活,更易控制程序通讯,但需要更多关联

4.模式的选择:

基于浏览器的应用程序推荐使用HTML-based script录制方式

不是基于浏览器的应用程序推荐使用URL-based script录制方式

如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based script方式录制。

基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based script方式录制。

对于初学者来说,如果HTML方式录制不成功,可以换成URL录制。

5.两种协议录制脚本对性能统计的影响:

         对于有检查点的脚本来讲,两种协议的统计时间差异会很大,URL-base script协议的脚本在寻找检查点的时候,统计的是页面DOMConten Loaded请求的响应时间,不会统计下载其他资源文件(CSS文件等)的时间。而HTML-base script协议的脚本在寻找检查点时,会把该页面请求其他资源文件的时间也统计进去,统计的是触发onLoad事件的时间。一般来讲,(注:DOMContentLoaded事件W3C推荐的标准事件,它发生在页面的DOM树建成时,而onload则发生在页面所有的资源(图片文件、CSS文件、js文件等)都被下载完成后)

         实际执行过程中,要根据压测的目的进行选择,如果是想测试页面完整的响应时间(后端性能+前端性能),建议使用HTML-base script协议,。如果想测试服务器的性能,测试服务器的最大服务能力,一般选用URL-base script 协议,这样得到的压力会更大。

6.用户响应时间

         既然两种模式都可以录制Web脚本,而且统计的结果差异还很大,那么究竟哪种模式更加贴近用户感受到的页面响应时间呢?

         很遗憾,两种结果都不能作为用户感受到的响应时间!因为web性能一部分取决于web服务器和应用服务器(建立连接,下载连接),别一部分取决于浏览器的实现机制、web页面上的js的执行等。取决于web服务器和应用服务器的响应时间与服务器的负载、压力等相关;而取决于浏览器实现机制与js文件执行所需要的时间则几乎与服务器端的负载和压力无关。

         前端性能关注单个用户的感受。后端性能关注是更多用户访问系统时,服务器能更稳定、更快的处理用户发来的请求。一个强大的后台是前台的基础。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LR 录制Web(HTTP/HTML)脚本的模式选择 的相关文章

  • 性能测试工具有哪些?原理是什么?怎么选择适合的工具?

    前言 本篇文章主要简单总结下性能测试工具的原理以及如何选型 性能测试和功能测试不同 性能测试的执行是基本功能的重复和并发 需要模拟多用户 在性能测试执行时需要监控指标参数 同时性能测试的结果不是那么显而易见 需要对数据进行分析 这些特点决定
  • 吐血整理,性能测试-Jmeter分布式压测实战(超细详解)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • Jmeter快速上手之接口测试

    目录 1 前言 2 简介 3 安装 4 环境变量 4 1 Windows环境 4 2 Mac环境 5 启动程序 6 目录说明 7 操作示例 7 1 Get请求 7 2 Post请求 7 3 依赖请求 1 前言 压测工具 Jmeter 除了可
  • jmeter之命令行模式(Non-GUI Mode )

    新浪围脖 gt o蜗牛快跑o 企鹅交流群 gt 79642549 命令行模式优势 适用于Windows和linux执行机 与os无关 命令行容易扩展 比如上集成到jenkins平台 用命令行更加容易 适用于高并发测试 测试开始时 conso
  • 华为OD机试-机器人走迷宫

    题目描述 机器人走一个迷宫 给出迷宫的x和y x y的迷宫 并且迷宫中有障碍物 输入k表示障碍物有k个 并且会将障碍物的坐标挨个输入 机器人从0 0的位置走到x y的位置并且只能向x y增加的方向走 不能回退 如代码类注释展示的样子 表示可
  • 使用Jmeter进行http接口做功能、性能测试

    使用Jmeter进行http接口做功能 性能测试 1 使用Jmeter进行http接口做功能 性能测试 在测试移动APP时 会有很多接口需要做测试 我在这里介绍一下对HTTP接口做功能 性能的测试 首先我们会从开发人员拿到接口数据 1 1
  • jmeter对百度首页进行压力测试

    第一次测试 准备工作 在测试计划下添加jp gc Stepping Thread Group 阶梯线程组配置如下 该测试一共启动500个线程 每30秒增加10个 全部线程启动后 保持2分钟 然后每1秒停止5个线程 添加HTTP请求 添加查看
  • Parasoft VS Borland SilkTest,谁的功能测试更全面?

    你知道测试金字塔吗 为了用开发实践来扩大测试规模 如何以正确的数量设计合适类型的自动化测试 测试金字塔是一个很好的指南 测试金字塔是一个很好的视觉隐喻 它描述了不同的测试层 以及每一层要做多少测试 Parasoft测试金字塔 虽然测试自动化
  • 性能测试常见指标有哪些

    性能测试的常见指标包括 1 响应时间 Response Time 用户发送请求到系统返回结果所花费的时间 2 吞吐量 Throughput 单位时间内系统处理的请求数量 通常以每秒请求数 SPS或TPS 表示 3 并发用户数 Concurr
  • JMeter性能测试,完整入门篇

    1 Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 相比Loadrunner而言 JMeter小巧轻便且免费 逐渐成为了主流的性能测试工具 是每个测试人员都必须要掌握的工具之一 本文为JM
  • 用Sipp 对Asterisk 进行性能测试的工作笔记-1

    公司需要 对Asterisk 进行一定的性能测试 测试目标 1 IVR 支持多少路2 一对一通话 支持多少路3 不同编解码的性能影响 4 通话中 录音 支持多少路 测试工具 sipp http sipp sourceforge net 辅助
  • 性能测试流程

    参考书籍 软件测试 黑马程序员编著 性能测试与普通的功能测试目标不同 因此其测试流程与普通的测试流程也不相同 虽然性能测试也遵循测试需求分析 测试计划制订 测试用例设计 测试执行 编写测试报告的基本过程 但在实现细节上 性能测试有单独一套流
  • 3. 性能测试之目标评估

    文章目录 前言 一 模型1 根据日活计算目标QPS 1 原则 2 事例 二 模型2 根据压测数据评估最大支撑并发 1 原则 2 事例 3 备注 三 模型3 根据压测数据评估服务器资源 1 策略 2 备注 四 模型4 评估用户并发或峰值并发
  • TestComplete数据驱动测试教程(三)——修改记录测试

    TestComplete是一款具有人工智能的自动UI测试工具 利用自动化测试工具和人工智能支持的混合对象识别引擎 轻松检测和测试每个桌面 Web和移动应用程序 本文中我们将讲解如何进行数据驱动的测试 方便大家更快更直接的学习TestComp
  • 企业性能测试成熟度

    影响性能测试成熟度的5个内容项 1 性能测试流程规范 性能需求型模式 测试执行启动基本无规划 缺少标准流程规范 测试资产无法复用 测试结果无总结和沉淀性能常态化模式下流程规范 gt 企业内部不同部门 各个团队共同制定并执行达成一致的性能测试
  • Linux性能监控 -- vmstat命令

    文章目录 示例 字段说明 示例 输入vmstat命令后 第一个参数表示每1秒获取一次服务器资源 第二个参数表示总共获取10次 若第二个参数不设置 则表示持续获取服务器资源 字段说明 数据项 含义 r 表示有多少任务需要CPU执行 通常与后5
  • loadrunner负载生成器;

    负载生成器 Load Generators 是脚本生成的负载引擎 相当于加压机 主要功能是生成虚拟用户进行负载 在默认的情况下使用本地的负载生成器来运行脚本 但是每生成一个虚拟用户 需要话费负载生成器大约2M 3M的内存空间 通常运行CON
  • 软件测试面试题:软件测试的风险主要体现在哪里?

    软件测试的风险主要体现在哪里 我们没有对软件进行完全测试 实际就是选择了风险 因为缺陷极有可能存在没有进行测试的部分 举个例子 程序员为了方便 在调试程序时会弹出一些提示信息框 而这些提示只在某种条件下会弹出 碰巧程序发布前这些代码中的一些
  • Jmeter 课程笔记(五)集合点、思考时间和三种断言

    添加集合点 Http请求 右键 定时器 Synchronizing Timer Numberb of Simulated Users to Group by 并发用户数量 默认为0则与线程组的线程数一致 Timeout inmillisec
  • 【2024全网最火最全性能教程】一文搞懂性能测试!

    性能测试概念 我们经常看到的性能测试概念 有人或称之为性能策略 或称之为性能方法 或称之为性能场景分类 大概可以看到性能测试 负载测试 压力测试 强度测试等一堆专有名词的解释 针对这些概念 我不知道你看到的时候会不会像我的感觉一样 乱 一个

随机推荐

  • Java异步注解@Async详解

    一 Async注解 Async的作用就是异步处理任务 在方法上添加 Async 表示此方法是异步方法 在类上添加 Async 表示类中的所有方法都是异步方法 使用此注解的类 必须是Spring管理的类 需要在启动类或配置类中加入 Enabl
  • eclipse 导入svn 项目报 库不存在 svn: E210004: Handshake failed, data stream ended unexpectedly

    eclipse导入SVN项目报错 preface 取消代理设置 遇到 eclipse marketplace 不能打开 推荐一个 eclipse 暗黑主题 参考链接 preface 这个问题之前已经遇到 过一次 竟然忘记了 handshak
  • QT 解决提升控件后提示 No such file or directory

    在QtCreator中 给控件做提升时 提示 No such file or directory 很明显 QtCreator找不到自定义控件文件 那么可以在pro文件里面添加一句代码 INCLUDEPATH PWD widgets 自定义控
  • 周立功串口服务器维修方法,周立功医生

    涨姿势RS485作为一项标准通信协议 在工业中得到了广泛的应用特别是仪器仪表中 RS485的特点是可以组网通信且布线简单 一个主机通过RS485总线可以与多个从机通信 在实际应用中RS485通信抗干扰能力虽然强 但是必要的保护措施还是不可缺
  • 线上页面有时候elementui 的字体图标会乱码

    1 错误现象 2 问题分析 3 解决方法 3 唠嗑唠嗑 大白鹅say 针对我项目问题分析原因可能是 因为vue脚手架编译使用的和elemntui里面编译的工具不一样 如若有错误部分 请指出来 我会改正 1 错误现象 2 问题分析 查阅资料之
  • 关于SecurityException RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED

    关于SecurityException RECEIVER EXPORTED or RECEIVER NOT EXPORTED https github com android play billing samples issues 618
  • Servlet 实现上传文件

    1 基于 form 表单实现的上传文件 核心方法 HttpServletRequest 类方法 方法 描述 Part getPart String name 获取请求中给定 name 的文件 Collection
  • [创业之路-44] :复盘与自省 - 如何选择创业公司

    目录 1 看公司的愿景 X 2 看老板 X 3 看创始团队 X gt Y 4 看核心团队 X 5 看融资能力 6 看盈利能力 7 看市场 Y 8 客户 9 看产品 X 10 看技术 11 看内部管理 X 12 看个人的职位和股权 Y 13
  • ElementUI浅尝辄止29:Breadcrumb 面包屑

    显示当前页面的路径 快速返回之前的任意页面 1 如何使用 在el breadcrumb中使用el breadcrumb item标签表示从首页开始的每一级 Element 提供了一个separator属性 在el breadcrumb标签中
  • 工厂模式与抽象工厂在实际项目中的应用

    在面向对象编程中 最通常的方法是一个new操作符产生一个对象实例 new操作符就是用来构造对象实例的 但是在一些情况下 new操作符直接生成对象会带来一些问题 举例来说 许多类型对象的创造需要一系列的步骤 你可能需要计算或取得对象的初始设置
  • 优秀程序员的6大特质

    原文来自 http www iteye com news 28575 6 traits of good programmers 自认为离优秀的程序员还有一段距离 临近下班的时候特意找了下这方面的文章看看 觉得这篇文章说的很有道理 优秀的 高
  • 异或脚本参照

    这是两个异或绕过的脚本 异或是什么 这个符号代表的是异或的意思 当我们在PHP语言中输入 echo b w 的时候 语言本身会自动计算b和w的ascll编码值的差别 然后直接 输出该差别值的ascll编码数据是谁 这样我们就能够在不输入字母
  • 华为OD机试真题-数字加减游戏【2023.Q1】

    题目内容 小明在玩一个数字加减游戏 只使用加法或者减法 将一个数字s变成数字t 每个回合 小明可以用当前的数字加上或减去一个数字 现在有两种数字可以用来加减 分别为a b a b 其中b没有使用次数限制 请问小明最少可以用多少次a 才能将数
  • Android dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent详解

    之前遇到事件分发 去网上找相关文章 感觉都没把这几个的关系说明白 研究了几篇不错的文章 今天在这整理一下 希望对大家有所帮助 首先你要知道一点 当你触摸一个控件的时候 你就会调用该控件 或它的父类 的dispatchTouchEvent方法
  • Windows 控制台注册表工具 Reg

    C Documents and Settings Administrator gt reg Windows 控制台注册表工具 版本 3 0 版权所有 C Microsoft Corp 1981 2001 保留所有权利 REG Operati
  • 每天一道Python面试题(系列)

    本系列计划把Python面试中出现频率比较高知识点整理出来 以便各位童鞋复习和练习 第1题 Python垃圾回收机制 第2题 链表的逆置 第3题 两个队列创建一个栈 持续更新中 转载于 https www cnblogs com wupei
  • Vue中本地图片src路径对但是图片不出来的问题

    静态src 没有问题 可以正常显示 img class jiaobiao img src assets img xiangmuzhongxin png alt 这样子写 img class inner img alt 换为动态src 图片展
  • 协同过滤推荐算法实例代码

    什么是协同过滤 协同过滤是利用集体智慧的一个典型方法 要理解什么是协同过滤 Collaborative Filtering 简称 CF 首先想一个简单的问题 如果你现在想看个电影 但你不知道具体看哪部 你会怎么做 大部分的人会问问周围的朋友
  • 【自然语言处理】条件随机场【Ⅳ】条件随机场学习问题

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 部分推导和定义相关的佐证资料比较少 供参考 讨论的过程中我会加入自己的理解 难免存在错误 欢迎大家讨论 在阅读本篇之前建议先学习 隐马尔可夫模型系列 最大熵马尔可夫模型 由于字数限制
  • LR 录制Web(HTTP/HTML)脚本的模式选择

    LR 录制Web HTTP HTML 脚本的模式选择 Loadrunner进行Web HTTP HTML 协议录制时有两种录制模式 HTML basescript和URL base script 两种模式在录制的脚本和统计数据上具有较大的差