CN114416555A - 一种页面性能的测试方法、装置、介质及设备 - Google Patents
一种页面性能的测试方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN114416555A CN114416555A CN202210053949.2A CN202210053949A CN114416555A CN 114416555 A CN114416555 A CN 114416555A CN 202210053949 A CN202210053949 A CN 202210053949A CN 114416555 A CN114416555 A CN 114416555A
- Authority
- CN
- China
- Prior art keywords
- performance
- page
- target
- performance test
- target page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及计算机及人工智能技术领域,本实施例公开了一种页面性能的测试方法、装置、介质及设备。该方法包括:若目标页面被访问,则确定所述目标页面的登录状态;若所述登录状态为已登录,则通过开发工具包获取用户认证信息;由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。本技术方案,可以在用户登录后通过获取用户认证信息来得到相应的访问数据,以完成用户端的页面性能测试,从而达到提高页面的性能测试效果的目的。
Description
技术领域
本申请实施例涉及互联网及人工智能技术领域,尤其涉及一种页面性能的测试方法、装置、介质及设备。
背景技术
随着信息化时代的迅速发展,各种网页为了满足用户的使用需求,需要对页面的性能进行全面的测试,一方面可以确保用户的使用体验,另一方面也可以为后续的更新提供数据基础。
现有的页面性能测试的方式,往往使用的是基于页面提供的页面性能检测程序进行的。然而,页面性能检测程序只有开发者打开后才能够提供相应的面板显示页面数据的测试结果,对于一些页面,尤其是需要用户登录的页面,由于用户登录的信息是隐私数据,所以无法进行用户端的测试,导致开发者的测试很难达到全面测试的目的。因此,如何能够进行页面的普适性的性能测试,已经成为本领域技术人员亟待解决的技术难题。
发明内容
本申请实施例提供一种页面性能的测试方法、装置、介质及设备,可以在用户登录后通过获取用户认证信息来得到相应的访问数据,以完成用户端的页面性能测试,从而达到提高页面的性能测试效果的目的。
第一方面,本申请实施例提供了一种页面性能的测试方法,所述方法由性能测试平台执行,所述性能测试平台包括在目标页面嵌入的开发工具包,还包括性能测试服务端;该方法包括:
若目标页面被访问,则确定所述目标页面的登录状态;
若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
进一步的,在所述确定所述目标页面的登录状态之前,所述方法还包括:
接收用户认证信息获取权限授予操作以得到用户认证信息的获取权限。
进一步的,通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果,包括:
识别所述访问数据的数据类型;
根据所述数据类型,确定性能评价模型的目标指标;
根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果;
综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
进一步的,综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果,包括:
获取各目标指标的评价权重;
基于所述评价权重对目标页面的各目标指标的评价结果进行加权求和,得到页面性能的测试结果。
进一步的,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据,包括:
调用页面性能测试接口接收由所述开发工具包采集的内容请求发出数据以及内容请求返回数据;
基于所述内容请求发出数据以及所述内容请求返回数据确定内容请求的响应时长;
将所述内容请求和所述内容请求的响应时长进行关联,得到目标页面的访问数据。
进一步的,所述页面性能测试接口为Lighthouse接口;
所述Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的。
进一步的,在得到目标页面的性能测试结果之后,所述方法还包括:
根据所述性能测试结果,生成性能测试报告;其中,所述性能测试报告包括性能评分以及性能优化建议。
第二方面,本申请实施例提供了一种页面性能的测试装置,所述装置配置于性能测试平台,所述性能测试平台包括在目标页面嵌入的开发工具包,还包括性能测试服务端;该装置包括:
登录状态识别模块,用于若目标页面被访问,则确定所述目标页面的登录状态;
用户认证信息获取模块,用于若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
性能测试请求发起模块,用于由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
访问数据采集模块,用于通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
访问数据评价模块,用于通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
进一步的,所述装置还包括:
权限获取模块,用于接收用户认证信息获取权限授予操作以得到用户认证信息的获取权限。
进一步的,访问数据评价模块,包括:
数据类型识别单元,用于识别所述访问数据的数据类型;
目标指标确定单元,用于根据所述数据类型,确定性能评价模型的目标指标;
评价单元,用于根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果;
测试结果计算单元,用于综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
进一步的,所述测试结果计算单元具体用于:
获取各目标指标的评价权重;
基于所述评价权重对目标页面的各目标指标的评价结果进行加权求和,得到页面性能的测试结果。
进一步的,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据,包括:
调用页面性能测试接口接收由所述开发工具包采集的内容请求发出数据以及内容请求返回数据;
基于所述内容请求发出数据以及所述内容请求返回数据确定内容请求的响应时长;
将所述内容请求和所述内容请求的响应时长进行关联,得到目标页面的访问数据。
进一步的,所述页面性能测试接口为Lighthouse接口;
所述Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的。
进一步的,所述装置还包括:
性能测试报告生成模块,用于根据所述性能测试结果,生成性能测试报告;其中,所述性能测试报告包括性能评分以及性能优化建议。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的页面性能的测试方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的页面性能的测试方法。
本申请实施例所提供的技术方案,通过在目标页面嵌入的开发工具包,获取用户认证信息,并基于用户认证信息对用户的页面访问数据进行采集和测试,得到页面的测试结果。本方案可以实现对任意用户以及用户实际的使用场景进行测试,客服了现有技术中只能够由开发人员进行测试的场景单一、数据量少以及无法拟合用户的实际使用环境的难题,达到了用户端的页面性能测试,从而达到提高页面的性能测试效果的目的。
附图说明
图1是本申请实施例一提供的页面性能的测试方法的流程图;
图2是本发明实施例二提供的页面性能的测试方法的流程图;
图3是本发明实施例三提供的一种页面性能的测试装置的结构框图;
图4是本申请实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的页面性能的测试方法的流程图,本实施例可适用于页面性能测试的场景,该方法可以由本申请实施例所提供的页面性能的测试装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于用于页面性能测试的电子设备中。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
如图1所示,所述页面性能的测试方法包括:
S110,若目标页面被访问,则确定所述目标页面的登录状态。
本方案中,页面性能的测试方法可以由性能测试平台执行。性能测试平台可以包括数据采集的部分以及数据处理的部分。例如,所述性能测试平台包括在目标页面嵌入的开发工具包,用于进行数据采集,还包括性能测试服务端,用于进行数据处理。
此处的开发工具包(Software Development Kit,SDK)可以是软件工程师用于为特定的软件包、软件框架、硬件平台以及操作系统等建立应用软件的开发工具的集合。软件开发工具包广义上指辅助开发某一类软件的相关文档、范例和工具的集合。一般而言SDK即开发Windows平台或者其他平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,还可以包括能与某种嵌入式系统通讯的复杂的硬件。本方案中,可以是在目标页面的html文档中嵌入SDK脚本的方式,来实现SDK的嵌入。其中,SDK脚本可以是基于Lighthouse性能评价模型开发的检测SDK脚本。本方案这样的设置,可以实现无感知的采集真实用户访问目标网页时的性能数据的目的。
此处的性能测试服务端,可以是用于进行性能测试等相关计算的服务器,还可以是用于进行性能测试等相关计算,且具有一定计算能力和存储能力的智能终端。本方案中,性能测试服务端可以基于预先配置的性能测试规则,对前端所采集到的数据进行运算,得到性能测试的结果。
其中,目标页面可以是预先标定需要进行性能测试的页面,例如某门户网站,该网站的工作人员可以基于权限确定在网站的页面html文档中嵌入开发工具包,就可以基于开发工具包进行数据采集。因此,目标页面可以是需要进行性能测试的页面。
除此之外,本方案所应对的目标页面还可以是必须进行用户登录才能访问的页面,例如某些文献下载网站。现有的测试方式,一方面测试只能有开发人员进行,局限了页面性能测试的场景,无法采集真实的用户数据。另一方面,如果目标页面为必须要经过用户登录才能访问的页面,则用户登录的用户认证信息为隐私信息,无法直接获取,需要测试人员手动导入,而且手动导入的过程获取用户认证信息也是相对复杂的。因此,在检测到目标页面被访问时,优先确定目标页面的登录状态。
其中的登录状态包括已登录和未登录两种状态。如果用户已经登录,则可以在确定登录状态时输出数值“1”,如果未登录,则可以输出数值“0”。
本方案对于目标页面的访问操作可以是用户发出的,可以是通过预先嵌入的开发工具包来识别是否存在目标页面被访问的事件的。同时,对于目标页面的登录状态也可以是通过开发工具包实现的,具体可以通过调用接口识别是否存在页面登录数据,来确定登录状态。
S120,若所述登录状态为已登录,则通过开发工具包获取用户认证信息。
其中,当检测到登录状态为已登录时,可以通过开发工具包获取用户登录才会产生的用户认证信息。其中,具体可以采用如下代码:
$.cookie.set(“auth_token”);
通过上述代码,可以通过SDK获取用户认证信息。此处的用户认证信息可以是cookie、authtoken等。其中,Cookie是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。Cookie为一般不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。一个页面可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。如果使用浏览器访问Web,会看到所有保存在硬盘上的Cookie。在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的Web站点的信息。另外,Token是服务端生成的一串字符串,以作为客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
本方案中,开发工具包可以基于预先获取的权限来获取用户认证信息的,具体的,可以通过如下代码来实现:
Window._perf_sdk.runLighthouse(location.href,{
headers:{
Cookie:`auth_token=${$.cookie.get(“auth_token”)}`
}
})。
S130,由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求。
开发工具包在获取到用户认证信息之后,需要向性能测试服务端发起性能测试请求。其中,性能测试请求可以是用于告知性能测试服务端可以基于用户认证信息进行性能测试的信息。性能测试服务端在接收到该信息之后,可以开启性能测试进程,以对目标页面进行性能测试。可以理解的,此处的性能测试可以基于一个用户对目标页面的访问数据进行,同时也可以基于多个用户对目标页面的访问数据进行。在需要基于多个用户对目标页面的访问数据进行性能测试时,可以针对每个用户触发的页面内容和该页面内容的相应结果进行测试,最后再将多个用户的测试信息进行融合,达到多用户测试的目的。
S140,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据。
本方案中,性能测试服务端可以通过接口调用的方式来采集目标页面的访问数据,具体的,可以是调用页面性能测试接口采集所述目标页面的访问数据。
目标页面的访问数据可以是对目标页面中某一个页面内容的点击操作和接收到目标页面的该页面内容的响应的时间间隔,即为响应时长数据。除此之外,目标页面的访问数据还可以是目标页面的页面组件链路等数据。
在一个可行的实施例中,可选的,所述页面性能测试接口为Lighthouse接口;
所述Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的。
其中,Lighthouse是一款由谷歌团队开发的一款开源的网站性能测评浏览器扩展程序。Lighthouse是一个开源的自动化工具,用于改进网络应用的质量。开发者可以将其作为一个Chrome扩展程序运行,或从命令行运行。Chrome扩展程序提供了一个对用户更友好的界面,方便读取报告。而命令行工具则允许开发者将Lighthouse集成到持续集成系统。使用时,先提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。本方案中,提供node.js语言的API,供开发者调用后获取检测结果,开发者可以借助此API设计基于Lighthouse的网页性能检测程序。
Performance接口可以获取到当前页面中与性能相关的信息。它是HighResolution Time API的一部分,同时也融合了Performance Timeline API、Navigation Timing API、User Timing API和Resource Timing API。具体的,Performance是前端性能监控的API。它可以检测页面中的性能,它可以检测到白屏时间、首屏时间、用户可操作的时间节点,页面总下载的时间、DNS查询的时间以及TCP链接的时间等。
本方案中,Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的,可以理解为Lighthouse提供的是指标评价模型,而Performance接口提供的是页面响应数据,供指标评价模型进行测试,从而实现对页面性能的评价。
本方案通过这样的设置,可以基于Lighthouse的使用方式的扩展,扩大了页面性能测试的适用场景,使得系统性的监测网页性能变得更加便捷。
S150,通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
本方案中,预先构建的性能评价模型可以是用来对各种数据进行评价的模型,评价结果可以是分数值,还可以是等级。
例如,Fist Paint(FP),是指浏览器将任何事物渲染成与导航前的屏幕上的视觉效果不同的确切时间,例如,在长时间的白屏空白后,背景发生变化。其响应时间如果是0-2000毫秒,则评价为Good,响应时间为2001-4000毫秒,则评价为Needs Improvement,响应时间为Over 4000毫秒,则评价为Poor。
除此之外,还可以是对First Contentful Paint(FCP)进行评价,FCP是指浏览器从DOM中渲染第一个内容所需的确切时间,这个时间可以是任何重要的图片、文本、甚至是页面底部的小SVG等。其响应时间如果是0-2000毫秒,则评价为Good,响应时间为2001-4000毫秒,则评价为Needs Improvement,响应时间为Over 4000毫秒,则评价为Poor。
除此之外,还可以是对Largest Contentful Paint(LCP)进行评价,LCP是一个重要的,以用户为中心的衡量标准,用于衡量感知加载速度,因为它标记了页面加载时间轴中页面的主要内容可能加载的时间点,快速达的LCP有助于向用户保证页面是有用的。其响应时间如果是0-2500毫秒,则评价为Good,响应时间为2501-4000毫秒,则评价为NeedsImprovement,响应时间为Over4000毫秒,则评价为Poor。
除此之外,还可以是对First Input Delay(FID)进行评价,FID衡量的是从用户首次与网站进行交互到浏览器实际上能够响应该交互之间的时间,交互操作可以是单击链接、点击按钮等。其响应时间如果是0-100毫秒,则评价为Good,响应时间为101-300毫秒,则评价为Needs Improvement,响应时间为Over 300毫秒,则评价为Poor。
除此之外,还可以是对Cumulative Layout Shift(CLS)进行评价,CLS是衡量视觉稳定性的重要的、以用户为中心的指标,因为它有助于量化用户经历以外布局变化的频率。其数值如果是0-0.1,则评价为Good,数值为0.11-0.25,则评价为Needs Improvement,数值为Over 0.25,则评价为Poor。
除此之外,还可以是对Total Blocking Time(TBT)进行评价,TBT是一个重要的、以用户为中心的指标,其用于量化一个页面在成为可靠的交互性之前的非交互性的严重程度。其数值如果是0-300,则评价为Good,数值为301-600,则评价为Needs Improvement,数值为Over 600,则评价为Poor。
在本方案中,可选的,在得到目标页面的性能测试结果之后,所述方法还包括:
根据所述性能测试结果,生成性能测试报告;其中,所述性能测试报告包括性能评分以及性能优化建议。
例如,在得到性能测试结果之后,可以基于性能测试结果生成性能测试包括,其中可以包括对所采集到的数据进行评分,还可以用来针对目标页面的某些页面内容进行性能优化建议,例如“某按键的响应时间过长,需要优化”等。
本方案通过这样的设置,可以相比调用Lighthouse API获取网页性能数据的方式,SDK中提供了传入用户认证信息并检测性能数据的方式,使得检测多终端用户的性能变得更加便捷。
本申请实施例所提供的技术方案,若目标页面被访问,则确定所述目标页面的登录状态;若所述登录状态为已登录,则通过开发工具包获取用户认证信息;由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。通过采用上述方案,可以在用户登录后通过获取用户认证信息来得到相应的访问数据,以完成用户端的页面性能测试,从而达到提高页面的性能测试效果的目的。
在上述各技术方案的基础上,可选的,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据,包括:
调用页面性能测试接口接收由所述开发工具包采集的内容请求发出数据以及内容请求返回数据;
基于所述内容请求发出数据以及所述内容请求返回数据确定内容请求的响应时长;
将所述内容请求和所述内容请求的响应时长进行关联,得到目标页面的访问数据。
其中,内容请求发出数据可以包括内容请求的对象以及发出时间,相应的,内容请求返回数据可以包括内容请求的对象以及返回时间。由此,基于发出时间和返回时间,可以确定目标页面的响应时长。另外,内容请求可以是页面中的各种组件,例如跳转至另一个链接的组件,还可以是显示图片或者文档的组件。本方案通过这样的设置,可以提供一种基于内容请求的响应时长进行访问数据采集的方式,从而可以得到目标页面中对于响应时长有限定需求的访问数据采集结果,以进行页面的响应速度性能的测试。
实施例二
图2是本发明实施例二提供的页面性能的测试方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果,包括:识别所述访问数据的数据类型;根据所述数据类型,确定性能评价模型的目标指标;根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果;综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
如图2所示,本实施例的方法具体包括如下步骤:
S210,若目标页面被访问,则确定所述目标页面的登录状态。
S220,若所述登录状态为已登录,则通过开发工具包获取用户认证信息。
用户认证信息的获取方式与上述实施例的方案相类似,不再赘述。
S230,由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求。
S240,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据。
S250,识别所述访问数据的数据类型。
本方案中,数据类型可以是上述的FP、FCP、LCP以及FID等类型的数据,还可以包括其他数据。可以理解的,在用户对目标页面进行操作的过程中,根据用户的操作指令的不同,可能采集到各种类型的访问数据。本方案中,优先判断访问数据的类型,再根据类型进行性能评价。具体的识别方式可以是通过采集用户访问前端或者是目标页面的后端服务器发出的报文数据中包含的信息来确定。
S260,根据所述数据类型,确定性能评价模型的目标指标。
本方案中,目标指标可以是响应时长、数值大小以及其他任何一种对于当前数据类型进行评价的指标。目标指标可以是预先基于行业内的页面响应速度、数据统计值等进行划分的。
S270,根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果。
本方案中,该目标指标可以划分为三个级别,还可以是根据不同的范围映射到不同的分值。具体的评价规则可以是存储在性能评价模型中,可以根据需求对评价规则进行修改,以得到满足当前测试需求的评价规则。本方案通过这样的设置,可以将评价规则预先配置在性能评价模型中,以对任何一种类型的反问数据进行目标指标的评价,得到当前目标指标的评价结果。
S280,综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
本方案中,由于是对目标页面进行性能测试,所以可以是针对目标页面中某一个目标指标进行测试,还可以是对目标页面的各目标指标进行综合测试。此处的,综合各目标指标的评价结果,得到页面性能的测试结果,可以是基于预先设置的各个目标指标的权重值进行加权求和所得到的。可以理解的,由于目标页面的功能往往是不同的,例如某些目标页面的主要功能是供用户浏览商品详情,有些目标页面是为用户提供文档下载,因此不同的目标页面,可以根据各自的特点确定各个目标指标的权重。本方案也由此可以实现对各种目标页面进行性能测试,以提高性能测试的适用范围。
本实施例在上述实施例的基础上,提供了一种基于访问数据的数据类型对目标页面进行性能测试的方案。本方案通过对不同的数据类型,进行不同的指标划分以进行评价,并对各种指标进行综合得到页面性能的测试结果,可以得到更加客观、全面的页面性能测试结果。
在上述各技术方案的基础上,可选的,综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果,包括:
获取各目标指标的评价权重;
基于所述评价权重对目标页面的各目标指标的评价结果进行加权求和,得到页面性能的测试结果。
可以根据目标页面的不同,为不同的指标配置不同的权重,并且可以在得到一个或者多个用户的访问数据之后,得到各目标指标的评价结果,并加权得到最终的综合评价结果。
本方案中,可以是对一个用户在一段时间内对目标页面的访问数据的收集,也可以是对多个用户或者所有用户在一段时间内对目标页面的访问数据的收集。收集到不同的访问数据,可以体现出目标页面的性能检测的倾向。例如确定目标页面针对不同的区域的响应速度等。
在上述各实施例的基础上,可选的,在所述确定所述目标页面的登录状态之前,所述方法还包括:
接收用户认证信息获取权限授予操作以得到用户认证信息的获取权限。
本方案中,目标页面的代码编辑工作人员可以手动调用本方案所提供的SDK,会预先授权。可以理解为,在调用的过程中,相当于对SDK进行授权操作。由于代码编辑工作人员有对目标页面的测试需求,且该目标页面存在用户登录才能够进行访问的属性,或者该目标页面存在用户登录并进行一些特殊功能,如下载功能等操作的属性,因此代码编辑工作人员如果不预先授权,则无法获得相应的用户认证信息,也就没办法进行目标页面的性能测试。因此,本技术方案为页面性能测试的先决条件,也是在存在用户登录之后任何操作的必要条件。
实施例三
图3是本发明实施例三提供的一种页面性能的测试装置的结构框图,该装置可执行本发明任意实施例所提供的页面性能的测试方法,具备执行方法相应的功能模块和有益效果。
如图3所示,所述装置配置于性能测试平台,所述性能测试平台包括在目标页面嵌入的开发工具包,还包括性能测试服务端;该装置包括:
登录状态识别模块310,用于若目标页面被访问,则确定所述目标页面的登录状态;
用户认证信息获取模块320,用于若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
性能测试请求发起模块330,用于由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
访问数据采集模块340,用于通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
访问数据评价模块350,用于通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
进一步的,所述装置还包括:
权限获取模块,用于接收用户认证信息获取权限授予操作以得到用户认证信息的获取权限。
进一步的,访问数据评价模块350,包括:
数据类型识别单元,用于识别所述访问数据的数据类型;
目标指标确定单元,用于根据所述数据类型,确定性能评价模型的目标指标;
评价单元,用于根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果;
测试结果计算单元,用于综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
进一步的,所述测试结果计算单元具体用于:
获取各目标指标的评价权重;
基于所述评价权重对目标页面的各目标指标的评价结果进行加权求和,得到页面性能的测试结果。
进一步的,所述访问数据采集模块340,具体用于:
调用页面性能测试接口接收由所述开发工具包采集的内容请求发出数据以及内容请求返回数据;
基于所述内容请求发出数据以及所述内容请求返回数据确定内容请求的响应时长;
将所述内容请求和所述内容请求的响应时长进行关联,得到目标页面的访问数据。
进一步的,所述页面性能测试接口为Lighthouse接口;
所述Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的。
进一步的,所述装置还包括:
性能测试报告生成模块,用于根据所述性能测试结果,生成性能测试报告;其中,所述性能测试报告包括性能评分以及性能优化建议。
上述产品可执行本申请实施例所提供的页面性能的测试方法,具备执行方法相应的功能模块和有益效果。
实施例四
本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的页面性能的测试方法:
若目标页面被访问,则确定所述目标页面的登录状态;
若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
实施例五
本申请实施例五提供了一种电子设备。图4是本申请实施例五提供的一种电子设备的结构示意图。如图4所示,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420执行,使得所述一个或多个处理器420实现本申请实施例所提供的页面性能的测试方法,该方法包括:
若目标页面被访问,则确定所述目标页面的登录状态;
若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
当然,本领域技术人员可以理解,处理器420还实现本申请任意实施例所提供的页面性能的测试方法的技术方案。
图4显示的电子设备400仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的页面性能的测试方法对应的程序指令。
存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏、扬声器等电子设备。
本申请实施例提供的电子设备,可以在用户登录后通过获取用户认证信息来得到相应的访问数据,以完成用户端的页面性能测试,从而达到提高页面的性能测试效果的目的。
上述实施例中提供的页面性能的测试装置、介质及电子设备可执行本申请任意实施例所提供的页面性能的测试方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的页面性能的测试方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种页面性能的测试方法,其特征在于,所述方法由性能测试平台执行,所述性能测试平台包括在目标页面嵌入的开发工具包,还包括性能测试服务端;该方法包括:
若目标页面被访问,则确定所述目标页面的登录状态;
若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述目标页面的登录状态之前,所述方法还包括:
接收用户认证信息获取权限授予操作以得到用户认证信息的获取权限。
3.根据权利要求1所述的方法,其特征在于,通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果,包括:
识别所述访问数据的数据类型;
根据所述数据类型,确定性能评价模型的目标指标;
根据所述目标指标以及所述目标指标的评价规则,对所述访问数据进行目标指标的页面性能测试评价,得到目标指标的评价结果;
综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果。
4.根据权利要求3所述的方法,其特征在于,综合所述目标页面各目标指标的评价结果,得到页面性能的测试结果,包括:
获取各目标指标的评价权重;
基于所述评价权重对目标页面的各目标指标的评价结果进行加权求和,得到页面性能的测试结果。
5.根据权利要求1所述的方法,其特征在于,通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据,包括:
调用页面性能测试接口接收由所述开发工具包采集的内容请求发出数据以及内容请求返回数据;
基于所述内容请求发出数据以及所述内容请求返回数据确定内容请求的响应时长;
将所述内容请求和所述内容请求的响应时长进行关联,得到目标页面的访问数据。
6.根据权利要求5所述的方法,其特征在于,所述页面性能测试接口为Lighthouse接口;
所述Lighthouse接口是基于Performance接口提供的性能评价模型需要的指标数值进行评价的。
7.根据权利要求1所述的方法,其特征在于,在得到目标页面的性能测试结果之后,所述方法还包括:
根据所述性能测试结果,生成性能测试报告;其中,所述性能测试报告包括性能评分以及性能优化建议。
8.一种页面性能的测试装置,其特征在于,所述装置配置于性能测试平台,所述性能测试平台包括在目标页面嵌入的开发工具包,还包括性能测试服务端;该装置包括:
登录状态识别模块,用于若目标页面被访问,则确定所述目标页面的登录状态;
用户认证信息获取模块,用于若所述登录状态为已登录,则通过开发工具包获取用户认证信息;
性能测试请求发起模块,用于由开发工具包基于所述用户认证信息向所述性能测试服务端发起性能测试请求;
访问数据采集模块,用于通过所述性能测试服务端调用页面性能测试接口采集所述目标页面的访问数据;
访问数据评价模块,用于通过所述性能测试服务端中预先构建的性能评价模型对所述访问数据进行评价,得到目标页面的性能测试结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的页面性能的测试方法。
10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的页面性能的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210053949.2A CN114416555A (zh) | 2022-01-18 | 2022-01-18 | 一种页面性能的测试方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210053949.2A CN114416555A (zh) | 2022-01-18 | 2022-01-18 | 一种页面性能的测试方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416555A true CN114416555A (zh) | 2022-04-29 |
Family
ID=81273061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210053949.2A Pending CN114416555A (zh) | 2022-01-18 | 2022-01-18 | 一种页面性能的测试方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416555A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928582A (zh) * | 2022-05-17 | 2022-08-19 | 中国平安财产保险股份有限公司 | 资源组合方法、装置、设备及存储介质 |
-
2022
- 2022-01-18 CN CN202210053949.2A patent/CN114416555A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928582A (zh) * | 2022-05-17 | 2022-08-19 | 中国平安财产保险股份有限公司 | 资源组合方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200364033A1 (en) | API Specification Generation | |
AU2017302249B2 (en) | Visual regression testing tool | |
CN102272757B (zh) | 用于执行客户端浏览器状态的服务器端记录的方法和系统 | |
US8640037B2 (en) | Graphical overlay related to data mining and analytics | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
JP5425699B2 (ja) | 情報処理装置、テストケース生成方法、プログラムおよび記録媒体 | |
US8996921B2 (en) | Indicating coverage of Web application testing | |
CN105793862B (zh) | 动态程序在隔离环境中的受指导执行 | |
CN104715204B (zh) | 利用元请求对web应用程序进行安全漏洞测试 | |
US20190087180A1 (en) | Identifying equivalent javascript events | |
US10374934B2 (en) | Method and program product for a private performance network with geographical load simulation | |
CN110727572A (zh) | 埋点数据处理方法、装置、设备及存储介质 | |
US9285964B2 (en) | Automatically recovering and maintaining focus | |
CN111563257A (zh) | 数据检测方法及装置、计算机可读介质及终端设备 | |
CN104468459B (zh) | 一种漏洞检测方法及装置 | |
KR102034510B1 (ko) | 동적 웹 페이지의 방문자 행동 분석 정보 제공 장치 및 이를 이용한 웹 사이트의 방문자 행동 분석 정보 제공 방법 | |
CN110866205A (zh) | 用于存储信息的方法和装置 | |
CN114416555A (zh) | 一种页面性能的测试方法、装置、介质及设备 | |
CN114036501A (zh) | 一种app的检测方法、系统、装置、设备及存储介质 | |
KR102054896B1 (ko) | 동적 웹 페이지의 방문자 행동 분석 정보 제공 장치 및 이를 이용한 웹 사이트의 방문자 행동 분석 정보 제공 방법 | |
CN107766224B (zh) | 测试方法和测试装置 | |
CN110276183B (zh) | 反向图灵验证方法及装置、存储介质、电子设备 | |
KR20100069147A (ko) | 웹사이트 품질 테스트 방법 및 시스템 | |
CN111949992A (zh) | Web应用程序的自动化安全监测方法及系统 | |
CN111666471A (zh) | 信息采集方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |