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)脚本的模式选择 的相关文章

  • Python web自动化测试 —— 文件上传

    文件上传三种方式 一 查看元素标签 如果是input 则可以参照文本框输入的形式进行文件上传 方法 和用户输入是一样的 使用send keys 1 2 3 4 5 步骤 1 找到定位元素 2 输入文件路径 ele driver find e
  • 主流性能测试工具

    目前市场上的性能测试工具较多 主流的性能测试工具有 LoadRunner QALoad SilkPerformer 和 Rational Performance Tester 这类都为负载性能测试工具 其原理都相同 首先是录制脚本 通过录制
  • 性能测试如何做?从0到1性能测试实战(手把手教)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • 性能测试连载 (10)-数据错误率分析

    概述 性能测试脚本跑完了之后 我们除了要收集瓶颈数据 还有分析错误数据 通常一套脚本跑完 错误类型不止一种 但是jmeter只会在聚合报告里面给出一个总体的错误率 错误率 jmeter里的错误率是如何统计的 在返回的数据里面 只要succe
  • 性能测试:工具篇:Jmeter实时可视化平台搭建

    部署 influxDB 首先 pull influxBD镜像 拉取是1 8的版本 虽有2 0 的版本 但我还是喜欢站在巨人的肩头前行 debugfeng debugfeng sudo docker pull influxdb 1 8 1 8
  • jmeter之命令行模式(Non-GUI Mode )

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

    iOS性能测试 1 APP启动时间 工具 Time Profiler 1 17s 初始化应用程序地址空间和动态链接所需的框架所需时间 62 90ms 从UlAppicationMain 或NSApplicationMain 启动到完成did
  • 华为OD机试-机器人走迷宫

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

    使用Jmeter进行http接口做功能 性能测试 1 使用Jmeter进行http接口做功能 性能测试 在测试移动APP时 会有很多接口需要做测试 我在这里介绍一下对HTTP接口做功能 性能的测试 首先我们会从开发人员拿到接口数据 1 1
  • Linux统计物理cpu、逻辑cpu

    物理cpu个数 grep physical id proc cpuinfo sort uniq wc l 每个物理cpu的核心个数 grep cpu cores proc cpuinfo uniq awk F print 2 每个物理cpu
  • 工作3个月,我的测试工作感悟

    项目感想 经过将近3个月以来的迭代版本的测试 这段时间以来的工作和以前有点不同 迭代版本时间紧 任务重 同时对质量的要求更高 每天的工作时间安排的非常紧 一个星期的任务需要完成这个星期的测试任务 同时回归上个星期的bug 这样的工作流程 我
  • prometheus的介绍&环境搭建配置服务启动监控

    一 prometheus的介绍 环境搭建配置 1 prometheus grafana构成 2 功能简介 Prometheus是一个开源监控系统 它前身是SoundCloud的警告工具包 主要具有如下功能 多维 数据模型 时序由 metri
  • 用Sipp 对Asterisk 进行性能测试的工作笔记-1

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

    LoadRunner Agent Processer是LR的代理进程 有很大的用处 比如当一台机器要分担一定 负载的时候 这个LoadRunner Agent Processer是必须启动的 在LR安装后一般是开机启动的 可以关掉 就象个地
  • 详解JS 和CSS 代码利用率统计利器Coverage以及高版本chrome中coverage的一个致命问题

    在做前端性能测试时较大的文件需要更多时间来下载 并可能导致我们的网站加载缓慢 从而导致用户体验欠佳 因此删除JS和CSS中未被使用的代码就很有必要了 Coverage工具就可以非常方便的实现这一需求 Coverage使用方法 Coverag
  • 性能测试的基本流程

    1 性能测试需求分析 项目经理 业务 架构专家 产品经理 高级性能测试工程师 开发经理 2 性能测试计划 高级性能测试工程师 项目经理 架构师 产品经理 3 性能测试准备 性能测试工程师 外部支持 网络工程师 系统管理员 测试服务器和被测试
  • Loader Runner 课程笔记(一)录制设置和压测

    1 录制前设置 1 创建脚本 新建单协议脚本 选择Web协议 创建 LR11只支持WIN7系统 浏览器IE8 9和低版本的火狐 24 0或36 0 高版本IE可以卸载装IE8或9 不支持谷歌 LR自带火狐路径HP LoadRunner bi
  • 【测试】利用LoadComplete确定不同负载下的服务器性能

    LoadComplete是一个负载测试工具 用于为Web服务器和服务创建和运行自动负载测试 它可以在手机 网站和web应用程序上设计和运行性能 压力和负载测试 您不需要有编程知识 创建一个负载测试只需要几秒钟的时间 接下来我们通过LoadC
  • 性能测试连载 (5)-jmeter 下的性能指标监听

    咨询微信 uhz2008 性能指标监听 概述 性能测试过程中 想要得到比较靠谱的性能数据 就不得不对各种性能数据进行动态监听 jmeter中提供了很多性能数据的监听器 我们通过监听器可以来分析性能瓶颈 本文用吞吐量模式 演示200线程的负载
  • 使用ADB命令来测试Android手机App的耗电量

    1 使用WiFi连接手机 先使用USB数据线连接手机和电脑 手机和电脑连接同一个WiFi 启动端口服务 adb tcpip 5555 5555为端口号 可以自由指定 打印 restarting in TCP mode port 5555 表

随机推荐

  • 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 两种模式在录制的脚本和统计数据上具有较大的差