掌桥专利:专业的专利平台
掌桥专利
首页

嵌套页面性能测试方法、设备及存储介质

文献发布时间:2023-06-19 11:16:08


嵌套页面性能测试方法、设备及存储介质

技术领域

本申请涉及互联网技术领域,尤其涉及一种嵌套页面性能测试方法、设备及存储介质。

背景技术

在Web开发过程中,经常会在父页面中嵌入嵌套页面来嵌入其它页面内容。在一些情况下,父页面和嵌套页面的域名不同,存在跨域的问题。在父页面和嵌套页面跨域的情况下,由于嵌套页面位于其它域,父页面的开发人员无法采用埋点的方式对嵌套页面性能进行测试。

发明内容

本申请的多个方面提供一种嵌套页面性能测试方法、设备及存储介质,用以实现对嵌套页面的响应时长的测试。

本申请实施例提供一种嵌套页面性能测试方法,包括:

调用浏览器模拟工具;

利用所述浏览器模拟工具,模拟用户打开网络链接的行为;所述网络链接对应的父页面嵌入有嵌套页面;

获取所述网络链接被打开的过程中产生的页面信息数据;

从所述页面信息数据中,获取所述嵌套页面被打开过程中关联的时间节点;

根据所述嵌套页面被打开过程中关联的时间节点,计算所述嵌套页面的响应时长。

本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;

所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述嵌套页面性能测试方法中的步骤。

本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述嵌套页面性能测试方法中的步骤。

在本申请实施例中,可利用浏览器模拟工具,模拟用户打开嵌入有嵌套页面的网页对应的网络链接的行为;并获取网络链接被打开的过程中产生的页面信息数据;从页面信息数据中,获取嵌套页面被打开的过程中关联的时间节点;之后,根据嵌套页面被打开的过程中关联的时间节点,计算嵌套页面的响应时长,实现了对嵌套页面的响应时长的测试,而且测试过程无需通过反向代理对嵌套页面插入代码,即对嵌套页面的代码无侵入性,不影响嵌套页面的正常使用。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的嵌套页面的性能测试方法的流程示意图;

图2为本申请实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

针对Web页面中,父页面和嵌套页面的域名不同存在跨域的问题,由于嵌套页面位于其它域,父页面的开发人员无法采用埋点的方式对嵌套页面性能进行测试。

为了解决上述问题,在本申请一些实施例中,可利用浏览器模拟工具,模拟用户打开嵌入有嵌套页面的网页对应的网络链接的行为;并获取网络链接被打开的过程中产生的页面信息数据;从页面信息数据中,获取嵌套页面关联的时间节点;之后,根据嵌套页面关联的时间节点,计算嵌套页面的响应时长,实现了对嵌套页面的响应时长的测试,而且测试过程无需通过反向代理对嵌套页面插入代码,即对嵌套页面的代码无侵入性,不影响嵌套页面的正常使用。

以下结合附图,详细说明本申请各实施例提供的技术方案。

应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。

图1为本申请实施例提供的嵌套页面性能测试方法的流程示意图。如图1所示,该方法包括:

101、调用浏览器模拟工具。

102、利用浏览器模拟工具,模拟用户打开网络链接的行为;网络链接对应的父页面嵌入有嵌套页面。

103、获取网络链接被打开的过程中产生的页面信息数据。

104、从页面信息数据中,获取嵌套页面关联的时间节点。

105、根据嵌套页面关联的时间节点,计算嵌套页面的响应时长。

在Web开发过程中,为了测试Web页面的性能,如测试Web页面的稳定性、响应时长等,可对Web页面进行埋点测试。在Web开发过程中,经常会在父页面中嵌入嵌套页面来嵌入其它页面内容。可选地,嵌套页面可为iframe页面。其中,Web页面的性能受嵌套页面的性能的影响。因此,对嵌套页面的性能测试成为关键一环。

对于Web页面中父页面和嵌套页面的域名相同的情况,可对嵌套页面进行埋点测试其性能。但是,在一些情况下,父页面和嵌套页面的域名不同,存在跨域的问题。为了测试网络页面的响应时长,可通过反向代理向嵌套页面插入脚本,来测试嵌套页面的性能。但是,这种方式需要侵入嵌套页面的代码中,测试过程影响用户对网页页面的正常访问。

为了解决上述问题,在步骤101中,可调用浏览器模拟工具;并在步骤102中,利用浏览器模拟工具,模拟用户打开网络链接的行为;其中,网络链接对应的父页面嵌入有嵌套页面。网络链接可为网页的统一资源定位器(Uniform Resource Locator,URL)。

可选地,可利用浏览器模拟工具,模拟针对网络链接的触发操作;并响应于所述触发操作,向服务端设备发送页面请求,以请求父页面及嵌套页面依赖的资源;并基于服务端设备返回的父页面及嵌套页面依赖的资源,在显示屏上渲染父页面及嵌套页面。

可选地,父页面及嵌套页面依赖的资源包括:图片的网络地址和文本数据。相应地,可按照图片的网络地址,从服务端设备下载图片;并按照预设的布局格式,将父页面及嵌套页面依赖的图片和文本数据渲染至显示屏上,以得到父页面及嵌套页面。可选地,可运行页面渲染对应JS代码,在页面渲染过程中,从服务端设备下载父页面及嵌套页面依赖的资源,并按照JS代码描述的布局格式,将父页面及嵌套页面依赖的资源渲染至显示屏上,以得到网络链接对应的网页。

可选地,可通过调用浏览器模拟工具的应用程序接口(API),来调用浏览器模拟工具。可选地,浏览器模拟工具为puppeteer。

进一步,在步骤103中,可获取网络链接被打开的过程中产生的页面信息数据。可选地,可运行page.metrics函数,以利用page.metrics函数获取网络链接被打开的过程中产生的页面信息数据。或者,调用lighthouse工具,以利用lighthouse工具获取网络链接被打开的过程中产生的页面信息数据。

其中,通过page.metrics()函数可以得到页面性能数据,捕获网站的时间线跟踪。例如,Timestamp度量标准采样的时间戳;LayoutDuration所有页面布局的合并持续时间;RecalcStyleDuration所有页面样式重新计算的组合持续时间;ScriptDuration所有脚本执行的持续时间;TaskDuration所有浏览器任务时长等。

相应地,页面信息数据可包括网络链路对应的网页被打开的过程中关联的时间节点。如:请求网页依赖的资源的时间、开始下载网页依赖的资源的时间、网页依赖的资源的下载完成时间以及网页的渲染完成时间等等。其中,网页包括:父页面和嵌套页面。相应地,网络链路对应的网页被打开的过程中关联的时间节点还包括:嵌套页面被打开过程中关联的时间节点,如请求嵌套页面依赖的资源的时间、开始下载嵌套页面依赖的资源的时间、嵌套页面依赖的资源的下载完成时间以及嵌套页面的渲染完成时间等。

相应地,在步骤104中,可从页面信息数据中,获取嵌套页面被打开过程中关联的时间节点;并在步骤105中,根据嵌套页面被打开过程中关联的时间节点,计算嵌套页面的响应时长。

可选地,可从嵌套页面被打开过程中关联的时间节点中,获取请求嵌套页面依赖的资源的时间和嵌套页面的渲染完成时间;并计算嵌套页面的渲染完成时间和请求嵌套页面依赖的资源的时间之间的时间差,作为嵌套页面的响应时长。

在本实施例中,可利用浏览器模拟工具,模拟用户打开嵌入有嵌套页面的网页对应的网络链接的行为;并获取网络链接被打开的过程中产生的页面信息数据;从页面信息数据中,获取嵌套页面被打开的过程中关联的时间节点;之后,根据嵌套页面被打开的过程中关联的时间节点,计算嵌套页面的响应时长,实现了对嵌套页面的响应时长的测试,而且测试过程无需通过反向代理对嵌套页面插入代码,即对嵌套页面的代码无侵入性,不影响嵌套页面的正常使用。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101和102的执行主体可以为设备A;又比如,步骤101的执行主体可以为设备A,步骤102的执行主体可以为设备B;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。

相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述嵌套网页性能测试方法中的步骤。

图2为本申请实施例提供的计算机设备的结构示意图。如图2所示,该计算机设备包括:存储器20a和处理器20b。其中,存储器20a,用于存储计算机程序。

处理器20b耦合至存储器20a,用于执行计算机程序以用于:调用浏览器模拟工具;利用浏览器模拟工具,模拟用户打开网络链接的行为;网络链接对应的父页面嵌入有嵌套页面;并获取网络链接被打开的过程中产生的页面信息数据;进一步,从页面信息数据中,获取嵌套页面被打开过程中关联的时间节点;并根据嵌套页面被打开过程中关联的时间节点,计算嵌套页面的响应时长。

可选地,浏览器模拟工具为puppeteer。

在一些实施例中,处理器20b在模拟用户打开网络链接的行为时,具体用于:利用浏览器模拟工具,模拟针对网络链接的触发操作;并响应于触发操作,向服务端设备发送页面请求,以请求父页面及嵌套页面依赖的资源;以及,基于服务端设备返回的父页面及嵌套页面依赖的资源,在显示屏20c上渲染父页面及嵌套页面。

可选地,父页面及嵌套页面依赖的资源包括:图片的网络地址和文本数据。相应地,处理器20b在显示屏20c上渲染父页面及嵌套页面依赖的资源时,具体用于:按照图片的网络地址,从服务端设备下载图片;并按照预设的布局格式,将父页面及嵌套页面依赖的图片和文本数据渲染至显示屏上,以得到父页面及嵌套页面。

可选地,处理器20b在获取网络链接被打开的过程中产生的页面信息数据时,具体用于:运行page.metrics函数,以利用page.metrics函数获取网络链接被打开的过程中产生的页面信息数据。

可选地,处理器20b在获取网络链接被打开的过程中产生的页面信息数据时,具体用于:调用lighthouse工具,以利用lighthouse工具获取网络链接被打开的过程中产生的页面信息数据。

在一些实施例中,嵌套页面被打开过程中关联的时间节点包括:请求嵌套页面依赖的资源的时间、开始下载嵌套页面依赖的资源的时间、嵌套页面依赖的资源的下载完成时间以及嵌套页面的渲染完成时间。

相应地,处理器20b在计算嵌套页面的响应时长时,具体用于:从嵌套页面关联的时间节点中,获取请求嵌套页面依赖的资源的时间和嵌套页面的渲染完成时间;并计算嵌套页面的渲染完成时间和请求嵌套页面依赖的资源的时间之间的时间差,作为嵌套页面的响应时长。

在一些可选实施方式中,如图2所示,该计算机设备还可以包括:通信组件20c、电源组件20d、音频组件20f等组件。图2中仅示意性给出部分组件,并不意味着计算机设备必须包含图2所示全部组件,也不意味着计算机设备只能包括图2所示组件。

在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SOC)等等,但不限于此。

在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。

在本申请实施例中,显示组件可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示组件包括触摸面板,显示组件可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

在本申请实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。

本实施例提供的计算机设备,可利用浏览器模拟工具,模拟用户打开嵌入有嵌套页面的网页对应的网络链接的行为;并获取网络链接被打开的过程中产生的页面信息数据;从页面信息数据中,获取嵌套页面被打开的过程中关联的时间节点;之后,根据嵌套页面被打开的过程中关联的时间节点,计算嵌套页面的响应时长,实现了对嵌套页面的响应时长的测试,而且测试过程无需通过反向代理对嵌套页面插入代码,即对嵌套页面的代码无侵入性,不影响嵌套页面的正常使用。

需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 嵌套页面性能测试方法、设备及存储介质
  • 一种页面性能测试方法、装置、电子设备及存储介质
技术分类

06120112859862