测试、提高页面响应性能的方法和装置、终端设备
技术领域
本发明涉及计算机技术,更具体地,涉及测试页面响应性能的方法、提高页面响应性能的方法、用于测试页面响应性能的装置、以及终端设备。
背景技术
随着移动互联网的迅猛发展以及智能设备在世界范围的快速普及,用户已经越来越习惯通过各类应用(application,APP)实现通信、购物、支付、娱乐功能。
应用页面的响应速度与智能设备所处的网络环境、智能设备的性能、应用自身的设计有关。通常地,智能设备的处理器、内存、操作***对应用页面的响应速度有直接地影响,应用的启动方式、页面的渲染复杂程度、界面控件层级等,也可能会对应用页面的响应速度造成影响。
用户对于应用的基本期待是使用流畅,如果应用的响应速度慢,达不到用户期望,就会导致用户对智能设备或者应用评价不高,甚至可能会导致用户更换智能设备或者卸载应用。
因此,应用页面的响应速度是非常重要的评价指标,有必要提供一种高效率的测试页面响应性能的方案。
发明内容
本发明的一个目的是提供一种高效率的测试页面响应性能的方案。
根据本发明的第一方面,提供了一种测试页面响应性能的方法,包括以下步骤:
获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从所述操作第一控件的事件发生到页面响应结束的过程;
从所述录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征;
根据所述页面特征从所述帧序列中确定响应帧页面;
根据所述操作第一控件的事件发生的时刻和所述响应帧页面出现的时刻,计算页面响应耗费的时间。
可选地或多选地,所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
根据所述页面特征确定比对方式;
根据所述比对方式对所述帧序列的帧页面进行对比分析,以确定所述响应帧页面。
可选地或多选地,所述方法还包括:获取所述页面响应所在设备的设备信息,根据所述设备信息和所述比对方式确定是由服务器或是所述设备进行所述对比分析;
所述设备信息包括下列任一或者任意组合:***运行内存、***负载、可用内存、CPU核数、CPU频率、GPU性能参数、电量、设备型号。
可选地或多选地,所述页面特征包括下列任一或者任意组合:纯色程度、动态区域、控件分布。
可选地或多选地,所述页面特征包括动态区域;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
确定所述帧序列的帧页面的第一部分,所述帧页面的第一部分是与所述动态区域对应的部分;
通过比较所述帧序列的帧页面的其它部分确定响应帧页面。
可选地或多选地,所述页面特征包括纯色程度;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
如果所述纯色程度大于预设的阈值,通过比较所述帧序列的帧页面的像素确定响应帧页面。
可选地或多选地,所述页面特征包括控件分布;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
通过比较所述帧序列的帧页面的控件分布确定响应帧页面。
可选地或多选地,所述获取页面响应的录屏,包括:
监控所述第一控件是否***作,如果所述第一控件***作,启动录屏;或者,响应于开始录屏的指令,启动录屏;
响应于结束录屏的指令,终止录屏。
可选地或多选地,所述方法还包括:
对录屏进行计时,当录屏时间达到预设的第一时间阈值后,触发所述结束录屏的指令;或者,
监控所述页面响应所在设备的***日志,根据所述***日志确定是否结束录屏,如果确定结束录屏,触发所述结束录屏的指令;或者,
监控第二控件是否出现,如果所述第二控件出现,触发所述结束录屏的指令。
根据本发明的第二方面,提供了一种提高页面响应性能的方法,包括根据前述任一项所述的测试页面响应性能的方法,还包括:
如果所述页面响应耗费的时间大于预设的第二时间阈值,执行下列操作任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
根据本发明的第三方面,提供了一种用于测试页面响应性能的装置,包括:
获取模块,用于获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从所述操作第一控件的事件发生到页面响应结束的过程;
提取模块,用于从所述录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征;
确定模块,用于根据所述页面特征从所述帧序列中确定响应帧页面;
计算模块,用于根据所述操作第一控件的事件发生的时刻和所述响应帧页面出现的时刻,计算页面响应耗费的时间。
可选地或优选地,所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
根据所述页面特征确定比对方式;
根据所述比对方式对所述帧序列的帧页面进行对比分析,以确定所述响应帧页面。
可选地或优选地,所述页面特征包括下列任一或者任意组合:纯色程度、动态区域、控件分布。
可选地或优选地,所述页面特征包括动态区域;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
确定所述帧序列的帧页面的第一部分,所述帧页面的第一部分是与所述动态区域对应的部分;
通过比较所述帧序列的帧页面的其它部分确定响应帧页面。
可选地或优选地,所述页面特征包括纯色程度;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
如果所述纯色程度大于预设的阈值,通过比较所述帧序列的帧页面的像素确定响应帧页面。
可选地或优选地,所述页面特征包括控件分布;
所述根据所述页面特征从所述帧序列中确定响应帧页面,包括:
通过比较所述帧序列的帧页面的控件分布确定响应帧页面。
可选地或优选地,所述获取模块包括:
录屏启动模块,用于监控所述第一控件是否***作,如果所述第一控件***作,启动录屏;或者,用于响应于开始录屏的指令,启动录屏;
录屏结束模块,用于响应于结束录屏的指令,终止录屏。
可选地或优选地,所述获取模块还包括触发模块;
所述触发模块,用于对录屏进行计时,当录屏时间达到预设的第一时间阈值后,触发所述结束录屏的指令;或者,
所述触发模块,用于监控所述页面响应所在设备的***日志,根据所述***日志确定是否结束录屏,如果确定结束录屏,触发所述结束录屏的指令;或者,
所述触发模块,用于监控第二控件是否出现,如果所述第二控件出现,触发所述结束录屏的指令。
根据本发明的第四方面,提供了一种终端设备,包括前述任一项所述的用于测试页面响应性能的装置,还包括:
性能提升模块,用于如果所述页面响应耗费的时间大于预设的第二时间阈值,执行下列操作任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
根据本发明的第五方面,提供了一种用于测试页面响应性能的装置,包括存储器和处理器;
所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现前述任一项所述的测试页面响应性能的方法。
根据本发明的第六方面,提供了一种终端设备,包括存储器、处理器、以及显示屏;
所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现前述任一项所述的测试页面响应性能的方法,以及实现以下方法:
如果所述页面响应耗费的时间大于预设的第二时间阈值,执行下列操作任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
基于本发明实施例提供的测试页面响应性能的方案,能够根据页面响应的最后若干帧的页面特征,自动确认响应帧页面出现的时刻,进而确定页面响应耗费的时间。本发明实施例提供的测试页面响应性能的方案,能够自动确认响应帧页面出现的时刻,提高了测试效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是本发明实施例提供的应用***的框图;
图2是本发明实施例提供的测试页面响应性能的方法的流程图;
图3是本发明实施例提供的终态帧页面的示意图;
图4是本发明实施例提供的终态帧页面的示意图;
图5是本发明实施例提供的终态帧页面的示意图;
图6是本发明实施例提供的提高页面响应性能的方法的流程图;
图7是本发明实施例提供的测试装置的示意图;
图8是本发明实施例提供的获取模块的示意图;
图9是本发明实施例提供的终端设备的示意图;
图10是本发明实施例提供的测试装置的示意图;
图11是本发明实施例提供的终端设备的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<应用***>
图1是本发明实施例提供的应用***的框图。如图1所示,该***包括应用服务器101、网络102及终端设备103。应用服务器101和终端设备103通过网络102通信连接。终端设备103可以是一个,也可以是多个,图中示出了多个终端设备103。当然,应用服务器101也可以直接与终端设备103通信连接。
应用服务器101的配置可以包括但不限于处理器1011、存储器1012、接口装置1013、通信装置1014、输入装置1015、输出装置1016。处理器1011可以包括但不限于中央处理器CPU、微处理器MCU等。存储器1012可以包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1013可以包括但不限于USB接口、串行接口、并行接口等。通信装置1014例如能够进行有线通信或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。输入装置1015包括但不限于键盘、鼠标、触摸屏、麦克风等。输出装置1016包括但不限于显示屏、扬声器等。应用服务器101的配置也可以仅包括上述装置中的部分装置。
终端设备103例如可以是安装有智能操作***(例如安卓、IOS、Windows、Linux等***)的电子设备,包括但不限于便携式电脑、台式计算机、手机、平板电脑等。终端设备103的配置包括但不限于处理器1031、存储器1032、接口装置1033、通信装置1034、GPU(Graphics Processing Unit,图像处理器)1035、显示装置1036、输入装置1037、扬声器1038、麦克风1039、以及相机1030。处理器1031包括但不限于中央处理器CPU、微处理器MCU等。存储器1032包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1033包括但不限于USB接口、串行接口、并行接口等。通信装置1034例如能够进行有线通信或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。GPU 1035用于对图像进行处理。显示装置1036包括但不限于液晶屏、触摸屏等。输入装置1037包括但不限于键盘、鼠标、触摸屏等。终端设备103的配置也可以仅包括上述装置中的部分装置。
应用于本发明的实施例中,用户可以对终端设备103搭载的应用(APP)进行操作,终端设备103运行应用实现用户需求的功能。应用服务器101为应用提供后台支持,终端设备103运行应用的过程中,可能需要与应用服务器101进行交互。
用户对终端设备103搭载的应用进行操作,可以通过控件实现。这里的控件是指用户可以输入指令或者数据的对象。控件可以是实体的或者是虚拟的。实体的控件例如可以是实体的按键、键盘、鼠标、麦克风、操控杆等,虚拟的控件例如可以是呈现在终端设备103的显示屏上的应用图标、虚拟按钮、虚拟键盘、虚拟鼠标、文本框、输入窗口、进度条、滚动条等。用户对控件的操作,可能会引起终端设备103的显示页面的变化,这一过程可以称之为页面响应。
终端设备103可以具有录屏功能,即,终端设备103可以录制自己屏幕展现的内容。
图1所示的应用***仅仅是说明性的并且绝不意味着对本发明、其应用或使用的任何限制。本领域技术人员应当理解,尽管前面描述了应用服务器101和终端设备103的多个装置,但是,本发明可以仅涉及其中的部分装置。例如,应用服务器101可以只涉及处理器、存储器以及通信装置,终端设备103可以只涉及处理器、存储器、通信装置、显示屏以及扬声器。本领域技术人员可以根据本发明所公开的方案设计指令。指令如何控制处理器进行操作,是本领域公知技术,故在此不再详细描述。
<测试页面响应性能的方法>
图2是本发明实施例提供的测试页面响应性能的方法的流程图。本发明实施例提供的测试页面响应性能的方法,可以是对前述终端设备103搭载的应用的页面响应性能的测试,也可以是对其它电子设备搭载的软件的页面响应性能的测试,本发明实施例对此不作限定。
下面以终端设备103为例,说明对终端设备103的页面响应性能的测试方法,包括以下步骤:
202、获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从操作第一控件的事件发生到页面响应结束的过程。
204、从录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征。
206、根据提取出的页面特征从录屏的帧序列中确定响应帧页面。
208、根据操作第一控件的事件发生的时刻和响应帧页面出现的时刻,计算页面响应耗费的时间。
步骤202、步骤204、步骤206、以及步骤208中的任意一步,可以由终端设备103执行,也可以由与终端设备103分离的测试装置(例如应用服务器101或者其它云端服务器作为测试装置)执行。
基于本发明实施例提供的测试页面响应性能的方法,能够根据页面响应的最后若干帧的页面特征,自动确认响应帧页面出现的时刻,进而确定页面响应耗费的时间。本发明实施例提供的测试页面响应性能的方法,能够自动确认响应帧页面出现的时刻,提高了测试效率。本发明实施例提供的测试页面响应性能的方法,根据页面响应的最后若干帧的页面特征来确认响应帧页面,使得测试结果更能够体现用户对于该页面响应的直观感受。
下面对各个步骤进行具体说明:
202、获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从操作第一控件的事件发生到页面响应结束的过程。
在一个具体的例子中,开始录屏的动作可以通过步骤2022或者步骤2024实现:
2022、响应于开始录屏的指令,启动录屏;操作第一控件的事件发生在录屏开始之后。
在步骤2022中,可以由用户在终端设备103操作,发出开始录屏的指令。例如,终端设备103的界面上设有“录屏”按钮,用户在终端设备103的触控屏上点击该“录屏”按钮就可以发出开始录屏的指令,启动录屏。或者,预先设置有测试程序,由测试程序发出开始录屏的指令,以启动录屏。
在操作第一控件的事件发生之前就开始录屏,能够确保操作第一控件的事件发生的那一刻被录屏记录下来,进而确保录屏包含从操作第一控件的事件发生到页面响应结束的过程。
2024、监控第一控件是否***作,如果第一控件***作,启动录屏。
在步骤2024中,可以由用户对终端设备103的第一控件进行操作。例如,第一控件为某个应用图标,用户在终端设备103的触控屏上点击该应用图标以打开该应用的主页面。监控该应用图标,当该应用图标被点击时,启动录屏。或者,预先设置有测试程序,由测试程序对第一控件进行操作,以启动录屏。
需要说明的是,前述步骤2022或者步骤2024中所提及的测试程序,以及后文中提到的测试程序可以设置在终端设备103中,也可以设置在与终端设备103分离的测试装置中。如果设置在与终端设备103分离的测试装置中,测试装置与终端设备103之间可以进行通信。测试装置例如可以是前述应用服务器101或者其它云端服务器。
本发明实施例中的录屏,可以是终端设备103录制自己的屏幕得到的。也可以是由与终端设备103分离的摄像装置,在测试程序的控制下对终端设备103的屏幕进行拍摄得到的。摄像装置例如可以集成在测试装置中。可以预先设置录屏使用的录制编解码器、分辨率、比特率和帧数。
在一个具体的例子中,结束录屏的可以通过步骤2026实现:
2026、响应于结束录屏的指令,终止录屏。
在步骤2026中,可以由用户对终端设备103进行操作,以发出结束录屏的指令,从而终止录屏。
或者,由测试程序在录屏开始时对录屏进行计时,当录屏时间达到预设的第一时间阈值后,触发结束录屏的指令。用户可以根据经验设定第一时间阈值,例如,用户可以根据页面响应的历史记录预估页面响应需要的时间,根据这个时间设置第一时间阈值。第一时间阈值要能够覆盖响应结束的过程。
或者,由测试程序监控终端设备103的***日志,根据***日志确定是否结束录屏,如果确定结束录屏,触发结束录屏的指令。当页面响应结束时,终端设备103的***会产生与该页面响应对应的***日志,测试程序监控到与该页面响应对应的***日志后,确定可以结束录屏,触发结束录屏的指令。
或者,由测试程序监控第二控件是否出现,如果第二控件出现,触发结束录屏的指令。第二控件是页面响应完成后,终端设备103所呈现的页面上的控件。当第二控件出现时,说明页面响应已经完成,触发结束录屏的指令。
或者,由机械臂模拟用户的操作,实现对第一控件的操作、开始录屏的操作、结束录屏的操作。
204、从录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征。
获取到录屏后,从录屏中解析出帧序列。在一个具体的例子中,可以按照预设帧率对录屏进行均匀分帧,得到帧序列。
在一个实施例中,从录屏的帧序列的最后的N帧的帧页面中提取页面特征,N为正整数。或者,从录屏的帧序列的最后的M帧的帧页面中提取页面特征,M帧占录屏的帧序列的总帧数的比例为预设比例,M为正整数。在一个具体的例子中,M帧占录屏的帧序列的总帧数的比例为10%左右。
当从录屏的帧序列的最后的多帧的帧页面中提取页面特征时,提取出的页面特征可以是多帧中的全部帧或者大部分帧都具有的页面特征。
页面特征可以包括下列任一或者任意组合:纯色程度、动态区域、控件分布。
为了方便描述,下文中将步骤204的“录屏的帧序列的最后的一帧或多帧的帧页面”称之为“终态帧页面”。
页面的动态区域是指页面中随时间会发生变化的区域。参见图3所示说明“动态区域”这一页面特征:终态帧页面按照时间顺序包括帧页面501、帧页面502、帧页面503。从图3中可以看出,在帧页面501中,区域11用于展示广告1,区域12用于展示广告2。在之后的帧页面502中,区域11用于展示广告3,区域13用于展示广告4。在更后面的帧页面503中,区域11用于展示广告5,区域13用于展示广告6。广告1、广告3、广告5为不同的广告,广告2、广告4、广告6为不同的广告。这说明,区域11和区域12是动态区域,随时间变化其呈现的内容会发生变化。
在一个实施例中,动态区域可以包括轮播区域。对于任一个动态区域,如果其轮流展示多个预先设置好的内容,则该动态区域为轮播区域。
页面的纯色程度是指页面中颜色的集中程度。参见图4所示说明“纯色程度”这一页面特征:终态帧页面504中包括色块21和色块22,帧页面504的除色块21和色块22以外的部分为另一种颜色并且占据了绝大部分面积,计算色块21和色块22以外部分的面积与帧页面504的总面积的比例,就可以得到帧页面504的纯色程度。在另一个实施例中,可以将终态帧页面转换为灰度图,得到每一个像素点的灰度值,计算像素点的灰度值的集中程度,作为终态帧页面的纯色程度。本领域技术人员可以有多种方式可以计算页面的纯色程度,本发明实施例对此不作限制。
页面的控件分布,可以包括控件的位置、形状、大小、数量这些控件元素中的一个或多个。参见图5所示说明“控件分布”这一页面特征:终态帧页面505中包括4个控件,分别为矩形的控件31、异形的控件32、圆形的控件33、以及圆形的控件34。
206、根据提取出的页面特征从录屏的帧序列中确定响应帧页面。
在一个实施例中,根据提取出的页面特征从录屏的帧序列中确定响应帧页面,包括:
2062、根据提取出的页面特征确定比对方式。
2064、根据确定出的比对方式对帧序列的帧页面进行对比分析,以确定响应帧页面。
在步骤2062和步骤2064中,是根据页面响应的最后若干帧的页面特征选择合适的比对方式,显然地,通过这种方式选择出的比对方式更适用于该页面响应,使得测试结果更能够体现用户对于该页面响应的直观感受。
在步骤2064中,对帧序列的帧页面进行对比分析以确定响应帧页面,可以通过聚类的方式进行。例如,通过聚类方式沿帧页面出现的时间顺序对帧页面进行聚类,从而将帧序列按照前后顺序切分为至少两个子序列,同一子序列内部的帧更为近似,以最后一个子序列的第一帧作为响应帧页面。
在步骤2064中,对帧序列的帧页面进行对比分析以确定响应帧页面,可以根据帧页面之间的相似度来确定响应帧页面。例如,选择与终态帧页面的相似度达到第一相似度阈值,并且与其前一帧的帧页面的相似度小于第二相似度阈值的帧。当选择出的帧为多个时,选择多个帧中的第一个帧作为响应帧页面;当选择出的帧为一个时,该帧即为响应帧页面。在一个具体的例子中,第一相似度阈值可以为60%,第二相似度阈值可以为90%。
在另一个具体的例子中,在步骤2064中,可以先对帧序列进行抽帧处理,再确定响应帧页面。例如,在帧序列中每隔D帧抽取一帧,抽取出的帧构成了一个新的帧序列,对该新的帧序列的帧页面进行上述的对比分析,得到疑似响应帧。原帧序列的疑似响应帧之前的D帧到之后的D帧构成另一个帧序列,对该另一个帧序列再次进行上述的对比分析,从该另一个帧序列中确定响应帧页面。这种先抽帧处理,再确定响应帧的方式,能够缩小计算量,加快处理速度。
在步骤2064中,确定出的比对方式对帧序列的帧页面进行对比分析所依据的对比元素(例如聚类依据的元素,例如进行相似度比较依据的元素)是根据终态帧页面的页面特征而设定的。下面仍以图3-图5所示的终态帧页面为例,对步骤206、步骤2062、步骤2064做进一步说明。
参考图3所示,终态帧页面包括动态区域。所述根据提取出的页面特征从录屏的帧序列中确定响应帧页面,包括:确定帧序列的帧页面的第一部分,所述帧页面的第一部分是与所述动态区域对应的部分;通过比较帧序列的帧页面的其它部分确定响应帧页面。
也就是说,当终态帧页面中包括动态区域时,可以将帧页面中与动态区域对应的部分截取掉,利用截取后剩余的页面部分去确定响应帧页面。
对应到步骤2062和步骤2064中,选择出的比对方式,会先进行截取动态区域的步骤,再利用截取后剩余的页面部分进行对比分析确定响应帧页面。
参考图4所示,如果终态帧页面的纯色程度大于设定的纯色程度阈值,则判断终态帧页面属于纯色页面。如果终态帧页面属于纯色页面,通过比较帧序列的帧页面的像素确定响应帧页面。纯色度阈值例如为70%。
在一个例子中,比较帧序列的帧页面的像素确定响应帧页面,可以是将帧页面转为灰度页面,再比较像素的灰度值来确定响应帧页面。
在一个例子中,比较帧序列的帧页面的像素确定响应帧页面,可以通过比较像素的颜色分量来确定响应帧页面。
对应到步骤2062和步骤2064中,选择出的比对方式,是通过对比分析帧页面的像素的灰度值或者颜色分量来确定响应帧页面。
参考图5所示,终态帧页面的页面特征包括控件分布。所述根据提取出的页面特征从录屏的帧序列中确定响应帧页面,包括:通过比较帧序列的帧页面的控件分布确定响应帧页面。
具体地,当终态帧页面中包括一个或者多个控件时,可以通过比较帧页面的控件的分布情况,例如比较帧页面的控件的位置、形状、大小、数量的情况,来确定响应帧页面。
对应到步骤2062和步骤2064中,选择出的比对方式,是通过对比分析帧页面的控件分布来确定响应帧页面。
在另一个具体的例子中,终态帧页面的页面特征可能包括多种页面特征。例如:终态帧页面的页面特征同时包括动态区域和控件分布。在确定响应帧页面时,首先将帧页面的与动态区域对应的部分截取掉。然后,通过比较帧页面截取后剩余部分的控件分布情况来确定响应帧页面。
在另一个具体的例子中,终态帧页面的页面特征同时包括动态区域和纯色程度。在确定响应帧页面时,首先将帧页面的与动态区域对应的部分截取掉。然后,如果终态帧页面属于纯色页面,通过比较帧页面截取后剩余部分的像素来确定响应帧页面。
在另一个具体的例子中,终态帧页面的页面特征同时包括动态区域、纯色程度、以及控件分布。在确定响应帧页面时,首先将帧页面的与动态区域对应的部分截取掉。然后,如果终态帧页面属于纯色页面,通过比较帧页面截取后剩余部分的像素来确定响应帧页面。如果终态帧页面不属于纯色页面并且具有控件,通过比较帧页面截取后剩余部分的控件分布情况来确定响应帧页面。或者,如果终态帧页面具有的控件数量大于一定数量,就不考虑终态帧页面是否纯色,直接通过比较帧页面截取后剩余部分的控件分布情况来确定响应帧页面。
此外,可以根据页面响应所在设备的设备信息和步骤2062中确定出的比对方式,确定是由页面响应所在的设备来执行步骤2064,还是由与页面响应所在设备分离的测试装置(例如应用服务器101或者其它云端服务器)来执行是步骤2064。如果由云端服务器来执行步骤2064,需要把录屏或者帧序列,以及确定出的比对方式的版本号,上传到云端服务器。如果由页面响应所在设备来执行步骤2064,需要将比对方式配置到该设备中,例如,由云端服务器将比对方式对应的算法下发给该设备。
在一个具体的例子中,获取终端设备103的设备信息。所述设备信息包括下列任一或者任意组合:***运行内存、***负载、可用内存、CPU核数、CPU频率、GPU性能参数、电量、设备型号。终端设备103的这些信息对页面响应速度有影响。
根据终端设备103的设备信息和步骤2062确定出的比对方式确定是由终端设备103执行步骤2064,还是由应用服务器101执行步骤2064。
终端设备103自身对页面响应的能力越差,确定出的比对方式越复杂,越倾向于由云端服务器执行步骤2064。反之。终端设备103自身对页面响应的能力越强,确定出的比对方式越简单,可以由终端设备103执行步骤2064。
208、根据操作第一控件的事件发生的时刻和响应帧页面出现的时刻,计算页面响应耗费的时间。具体地,用响应帧页面出现的时刻减去操作第一控件的事件发生的时刻,得到页面响应耗费的时间。
本发明实施例中,可以通过多种方式获取到第一控件的事件发生的时刻。例如,可以对第一控件进行监控,在第一控件***作后获取到操作第一控件的事件发生的时刻。例如,测试程序可以从与第一控件对应的应用接口处获取到操作第一控件的事件发生的时刻。例如,测试程序可以通过***层回调、监控硬件层日志、监控***日志等方式确定第一控件的事件发生的时刻。这里不再过多赘述。
<提高页面响应性能的方法>
参考图6所示,说明本发明实施例提供的提高页面响应性能的方法,包括以下步骤:
202、获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从操作第一控件的事件发生到页面响应结束的过程。
204、从录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征。
206、根据提取出的页面特征从录屏的帧序列中确定响应帧页面。
208、根据操作第一控件的事件发生的时刻和响应帧页面出现的时刻,计算页面响应耗费的时间。
210、如果页面响应耗费的时间大于预设的第二时间阈值,说明页面响应耗费的时间太多,可能已经超出了用户容许的范围,需要执行可用于提升页面响应性能的操作。所述操作包括下列任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
利用上述方法,可以提升终端设备103的页面响应性能。
<用于测试页面响应性能的装置>
图7是本发明实施例提供的测试装置600的示意图,该测试装置600用于测试页面响应性能,该测试装置600包括以下模块:
获取模块601,用于获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从所述操作第一控件的事件发生到页面响应结束的过程。
提取模块602,用于从录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征。
确定模块603,用于根据提取出的页面特征从录屏的帧序列中确定响应帧页面。
计算模块604,用于根据操作第一控件的事件发生的时刻和响应帧页面出现的时刻,计算页面响应耗费的时间。。
基于本发明实施例提供的测试页面响应性能的装置,能够根据页面响应的最后若干帧的页面特征,自动确认响应帧页面出现的时刻,进而确定页面响应耗费的时间。本发明实施例提供的测试页面响应性能的装置,能够自动确认响应帧页面出现的时刻,提高了测试效率。本发明实施例提供的测试页面响应性能的装置,根据页面响应的最后若干帧的页面特征来确认响应帧页面,使得测试结果更能够体现用户对于该页面响应的直观感受。
图8是本发明实施例提供的获取模块601的示意图,该获取模块601包括录屏启动模块6011、触发模块6013、录屏结束模块6012。
录屏启动模块6011,用于监控第一控件是否***作,如果第一控件***作,启动录屏。或者,录屏启动模块6011,用于响应于开始录屏的指令,启动录屏。
录屏结束模块6012,用于响应于结束录屏的指令,终止录屏。
触发模块6013,用于对录屏进行计时,当录屏时间达到预设的第一时间阈值后,触发结束录屏的指令。或者,
触发模块6013,用于监控所述页面响应所在设备的***日志,根据***日志确定是否结束录屏,如果确定结束录屏,触发结束录屏的指令。或者,
触发模块6013,用于监控第二控件是否出现,如果第二控件出现,触发结束录屏的指令。
<终端设备>
参考图9所示说明本发明实施例提供的终端设备700,该终端设备700包括以下模块:
获取模块601,用于获取页面响应的录屏,所述页面响应由操作第一控件的事件引起,所述录屏包含从所述操作第一控件的事件发生到页面响应结束的过程。
提取模块602,用于从录屏的帧序列的最后的一帧或多帧的帧页面中提取页面特征。
确定模块603,用于根据提取出的页面特征从录屏的帧序列中确定响应帧页面。
计算模块604,用于根据操作第一控件的事件发生的时刻和响应帧页面出现的时刻,计算页面响应耗费的时间。
性能提升模块605,用于如果页面响应耗费的时间大于预设的第二时间阈值,执行可用于提升页面响应性能的操作。所述操作包括下列任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
利用上述方式,可以提升终端设备700的页面响应性能。
<用于测试页面响应性能的装置>
图10是本发明实施例提供的测试装置800的示意图,该测试装置800用于测试页面响应性能,该测试装置800包括存储器802和处理器801。
所述存储器802存储有计算机程序,所述计算机程序被所述处理器801执行时实现前述测试页面响应性能的方法。
基于本发明实施例提供的测试页面响应性能的装置,能够根据页面响应的最后若干帧的页面特征,自动确认响应帧页面出现的时刻,进而确定页面响应耗费的时间。本发明实施例提供的测试页面响应性能的装置,能够自动确认响应帧页面出现的时刻,提高了测试效率。本发明实施例提供的测试页面响应性能的装置,根据页面响应的最后若干帧的页面特征来确认响应帧页面,使得测试结果更能够体现用户对于该页面响应的直观感受。
<终端设备>
图11是本发明实施例提供的终端设备900的示意图,该终端设备900用于包括存储器902、处理器901、以及显示屏903。
所述存储器902存储有计算机程序,所述计算机程序被所述处理器901执行时实现前述测试页面响应性能的方法。
进一步地,所述计算机程序被所述处理器901执行时还实现以下方法:
如果页面响应耗费的时间大于预设的第二时间阈值,执行下列操作任一或者任意组合:
提示用户检查网络环境;
提示用户清理设备垃圾;
提示用户关闭非活动应用或者直接关闭非活动应用;
提示用户将所述页面响应所属的应用设置成极简页面模式或者直接将所述页面响应所属的应用设置成极简页面模式。
利用上述方式,可以提升终端设备900的页面响应性能。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,当计算机程序被处理器执行时实现上述实施例中的测试页面响应性能的方法,或者上述实施例中的提高页面响应性能的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。