一种测试应用页面过度渲染的方法和装置与流程

文档序号:13760305阅读:166来源:国知局
一种测试应用页面过度渲染的方法和装置与流程

本发明涉及测试领域,具体涉及一种测试应用页面过度渲染的方法和装置。



背景技术:

界面是人与机器(计算机)之间传递和交换信息的媒介,是用户和系统进行双向信息交互的支持软件、硬件以及方法的集合。常用缩写词为UI(User Interface)即用户界面,也称人机界面(Human-Computer Interface,简称HCI)。界面的绘制往往是调用GPU(Graphics Processing Unit,图形处理器)来实现的。

现在智能终端上可用的应用数量日益增多,应用的开发者不可避免地需要优化应用,使其在不同配置的智能终端上都可以尽可能好地实现其功能。由于应用在智能终端上运行时通常都需要展示应用页面,因此需要调用GPU进行页面渲染,那么如何减轻GPU资源消耗,避免应用页面过度渲染是开发人员经常需要面对的问题。当应用需要将多种内容显示在页面当中时,如果有多个内容需要层叠显示,由于上一层级的内容会遮蔽下一层级的全部或部分内容,因此下一层级的该部分内容实际就不会呈现给用户,但该层级的这部分内容仍然会调用GPU进行页面渲染,从而浪费了GPU资源。为了实现应用的多种功能,这种问题是无法完全回避但可以有效减少的,需要开发人员了解到在哪些应用页面中会出现应用页面过度渲染的问题从而进行优化,然而,现有技术中还没有一种较好地测试应用页面过度渲染的方法。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试应用页面过度渲染的方法和装置。

依据本发明的一个方面,提供了一种测试应用页面过度渲染的方法,包括:

在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息;

将所述应用的页面过度渲染描述信息发送到指定位置,以使得所述应用的开发者根据所述应用的页面过度渲染描述信息对所述应用进行优化处理。

可选地,所述页面过度渲染描述信息包括:平均渲染层数;

所述在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息包括:

开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;

对所述应用的页面进行截图,获得页面图片;

对页面图片进行分析,获得平均渲染层数。

可选地,对页面图片进行分析获得平均渲染层数包括:

获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;

确定页面图片中的不同颜色的面积占比;

对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

可选地,对所述应用的页面进行截图,获得页面图片包括:遍历所述应用的各页面,分别获得各页面的页面图片;

所述对页面图片进行分析,获得平均渲染层数包括:对各页面图片分别进行分析,获得对应页面的平均渲染层数;

将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

可选地,该方法进一步包括:

将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。

可选地,所述对页面图片进行分析获得平均渲染层数包括:

在智能终端的本地对页面图片进行分析获得平均渲染层数;

或者,

将页面图片发送到智能终端所连接的计算设备,由计算设备对页面图片进行分析获得平均渲染层数。

可选地,所述页面过度渲染描述信息包括:该页面图片的平均渲染层数;

所述在智能终端上运行所述应用,获取所述应用的页面过度渲染描述信息包括:通过JAVA反射调用机制调用智能终端的指定接口,获取所述应用的页面的平均渲染层数。

可选地,该方法在智能终端上运行待测试应用之前进一步包括:

从服务器下载待测试应用的安装包到智能终端上;

在智能终端上安装待测试应用的安装包。

依据本发明的另一方面,提供了一种测试应用页面过度渲染的装置,包括:

测试单元,适于在智能终端上运行所述应用,获取所述应用的页面过度渲染描述信息;

发送单元,适于将所述应用的页面过度渲染描述信息发送到指定位置,以使得所述应用的开发者根据所述应用的页面过度渲染描述信息对所述应用进行优化处理。

可选地,所述页面过度渲染描述信息包括:平均渲染层数;

所述测试单元,适于开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对所述应用的页面进行截图,获得页面图片;对页面图片进行分析,获得平均渲染层数。

可选地,所述测试单元,适于获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;确定页面图片中的不同颜色的面积占比;对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

可选地,所述测试单元,适于遍历所述应用的各页面,分别获得各页面的页面图片;对各页面图片分别进行分析,获得对应页面的平均渲染层数;将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

可选地,所述测试单元,进一步适于将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。

可选地,所述测试单元包括:

第一测试子单元,适于开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对所述应用的页面进行截图,获得页面图片并发送给第二测试子单元;

第二测试子单元,适于对页面图片进行分析,获得平均渲染层数;

所述第一测试子单元和第二测试子单元均位于智能终端中;或者,所述第一测试子单元位于智能终端中,所述第二测试子单元位于计算设备中。

可选地,所述页面过度渲染描述信息包括:该页面图片的平均渲染层数;

所述测试单元,适于通过JAVA反射调用机制调用智能终端的指定接口,获取所述应用的页面的平均渲染层数。

可选地,该装置进一步包括:

下载单元,适于从服务器下载待测试应用的安装包到智能终端上;

安装单元,适于在智能终端上安装所述应用的安装包。

由上述可知,本发明的技术方案,在运行待测试应用后获取应用的页面过度渲染描述信息并发送到指定位置,以使得所述应用的开发者根据所述应用的页面过度渲染描述信息对所述应用进行优化处理。该技术方案可以根据应用的运行状况,获取到应用在运行中呈现的页面的过度渲染描述信息并进行呈现,使得开发者可以快速、准确了解应用页面渲染状态,进一步对界面元素进行调整、合并图层等,这样就可以实现对应用的优化。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种测试应用页面过度渲染的方法的流程图;

图2示出了根据本发明一个实施例的一种测试应用页面过度渲染的装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的一种测试应用页面过度渲染的方法的流程图,如图1所示,该方法包括:

步骤S110,在智能终端上运行待测试应用,获取应用的页面过度渲染描述信息。具体地,启动待测试应用后,根据不同的测试指令控制应用跳转到不同的页面,获取每个页面的页面过度渲染描述信息。

步骤S120,将应用的页面过度渲染描述信息发送到指定位置,以使得应用的开发者根据应用的页面过度渲染描述信息对应用进行优化处理。

可见,图1所示的方法,在运行待测试应用后获取应用的页面过度渲染描述信息并发送到指定位置,以使得应用的开发者根据应用的页面过度渲染描述信息对应用进行优化处理。该技术方案可以根据应用的运行状况,获取到应用在运行中呈现的页面的过度渲染描述信息并进行呈现,使得开发者可以快速、准确了解应用页面渲染状态,进一步对界面元素进行调整、合并图层等,这样就可以实现对应用的优化。

在本发明的一个实施例中,图1所示的方法中,页面过度渲染描述信息包括:平均渲染层数;在智能终端上运行应用,获取应用的页面过度渲染描述信息包括:开启智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对应用的页面进行截图,获得页面图片;对页面图片进行分析,获得平均渲染层数。

以安卓系统为例,通过进入开发者选项,开启调试GPU过度绘制选项后,使用智能终端进入各应用的页面后,都会在应用原页面呈现内容的基础上,通过颜色来区别标示过度绘制的情况:蓝色1x过度绘制、绿色2x过度绘制、淡红色3x过度绘制和红色超过4x过度绘制。一般而言,最理想的是蓝色,即代表一个像素只绘制一次,但这在需要提供复杂功能的应用中很难实现。开发者共识的合格的页面绘制是白色、蓝色为主,绿色以上区域不能超过整个页面的三分之一,颜色越浅越好。

在本发明的一个实施例中,上述方法中,对页面图片进行分析获得平均渲染层数包括:获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;确定页面图片中的不同颜色的面积占比;对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

由于页面图片中已经以不同颜色区别标示了过度绘制的情况,因此进一步确定各颜色的面积占比,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,就可以得到该页面图片的平均渲染层数。例如,蓝色的面积占比为20%,绿色的颜色占比为40%,淡红色的颜色占比为30%,红色的颜色占比为10%,则平均渲染层数为1×0.2+2×0.4+3×0.3+4×0.1=2.3。

在本发明的一个实施例中,上述方法中,对所述应用的页面进行截图,获得页面图片包括:遍历所述应用的各页面,分别获得各页面的页面图片;获得平均渲染层数包括:对各页面图片分别进行分析,获得对应页面的平均渲染层数;将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

在本实施例中,对应用的所有页面都进行截图,并对每个页面图片进行分析,并将应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。这样开发者可以更方便了解到是哪个功能呈现的页面需要进行优化,实现了快速定位。进一步地,也可以将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。这样开发者可以在收到过度渲染描述信息后,从图片上直观地看出哪些页面元素的绘制是存在过度绘制的(如某个区域为红色)。优选地,可以对页面图片中过度绘制较高的区域进行定位,在过度渲染描述信息中进行显著提示。

在本发明的一个实施例中,上述方法中,对页面图片进行分析获得平均渲染层数包括:在智能终端的本地对页面图片进行分析获得平均渲染层数;或者,将页面图片发送到智能终端所连接的计算设备,由计算设备对页面图片进行分析获得平均渲染层数。

测试用智能终端上往往需要执行多种测试任务并连接到控制机上,因此可以将将页面图片发送到智能终端所连接的计算设备(如控制机),由计算设备对页面图片进行分析获得平均渲染层数。这样,与控制机连接的一台或多台测试用智能终端就可以在运行应用后,仅执行开启智能终端的设置项中的开发者选项中的调试GPU过度绘制选项,以及对应用的页面进行截图,获得页面图片的步骤即可,消耗资源较少;同时由控制机统一进行页面图片的分析也更有效率。当然,也可以在智能终端的本地执行获得平均渲染层数的步骤,可以根据需要进行选择。

在本发明的一个实施例中,图1所示的方法中,页面过度渲染描述信息包括:该页面图片的平均渲染层数;在智能终端上运行应用,获取应用的页面过度渲染描述信息包括:通过JAVA反射调用机制调用智能终端的指定接口,获取应用的页面的平均渲染层数。

在本实施例中,提供了另一种获取页面图片的平均渲染层数的方法,即通过JAVA反射调用机制调用智能终端的指定接口,获取应用的页面的平均渲染层数。该接口通常被设置为隐藏,具体地,通过反射调用该接口,可以得到一个浮点值,该浮点值即为应用的页面的平均渲染层数。

在本发明的一个实施例中,上述方法在智能终端上运行待测试应用之前进一步包括:从服务器下载待测试应用的安装包到智能终端上;在智能终端上安装待测试应用的安装包。这样测试人员可以获取不同版本的应用、或者不同的应用进行测试。

图2示出了根据本发明一个实施例的一种测试应用页面过度渲染的装置的结构示意图,如图2所示,测试应用页面过度渲染的装置200包括:

测试单元210,适于在智能终端上运行应用,获取应用的页面过度渲染描述信息。具体地,启动待测试应用后,启动待测试应用后,根据不同的测试指令控制应用跳转到不同的页面,获取每个页面的页面过度渲染描述信息。

发送单元220,适于将应用的页面过度渲染描述信息发送到指定位置,以使得应用的开发者根据应用的页面过度渲染描述信息对应用进行优化处理。

在本发明的一个实施例中,图2所示的装置中,页面过度渲染描述信息包括:平均渲染层数;测试单元,适于开启智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对应用的页面进行截图,获得页面图片;对页面图片进行分析,获得平均渲染层数。

在本发明的一个实施例中,上述装置中,测试单元210,适于获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;确定页面图片中的不同颜色的面积占比;对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

在本发明的一个实施例中,上述装置中,测试单元210,适于遍历应用的各页面,分别获得各页面的页面图片;对各页面图片分别进行分析,获得对应页面的平均渲染层数;将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

在本发明的一个实施例中,上述装置中,测试单元210,进一步适于将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。

在本发明的一个实施例中,上述装置中,测试单元210包括:第一测试子单元211(图未示),适于开启智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对应用的页面进行截图,获得页面图片并发送给第二测试子单元;第二测试子单元212(图未示),适于对页面图片进行分析,获得平均渲染层数;第一测试子单元211和第二测试子单元212均位于智能终端中;或者,第一测试子单元211位于智能终端中,第二测试子单元212位于计算设备中。

在本发明的一个实施例中,上述装置中,页面过度渲染描述信息包括:该页面图片的平均渲染层数;测试单元,适于通过JAVA反射调用机制调用智能终端的指定接口,获取应用的页面的平均渲染层数。

在本发明的一个实施例中,上述装置进一步包括:下载单元,适于从服务器下载待测试应用的安装包到智能终端上;安装单元,适于在智能终端上安装所述应用的安装包。

需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。

综上所述,本发明的技术方案,从服务器下载待测试应用的安装包到对应的测试用智能终端上并进行安装,在运行该应用后获取应用的页面过度渲染描述信息并发送到指定位置,页面过度渲染描述信息可以包括平均渲染层数、对应页面的位置信息或页面的页面图片信息等,以使得应用的开发者根据应用的页面过度渲染描述信息对应用进行优化处理。该技术方案可以根据应用的运行状况,获取到应用在运行中呈现的页面的过度渲染描述信息并进行呈现,使得开发者可以快速、准确了解应用页面渲染状态,进一步对界面元素进行调整、合并图层等,这样就可以实现对应用的优化。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的测试应用页面过度渲染的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明的实施例公开了A1、一种测试应用页面过度渲染的方法,其中,该方法包括:

在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息;

将所述应用的页面过度渲染描述信息发送到指定位置,以使得所述应用的开发者根据所述应用的页面过度渲染描述信息对所述应用进行优化处理。

A2、如A1所述的方法,其中,所述页面过度渲染描述信息包括:平均渲染层数;

所述在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息包括:

开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;

对所述应用的页面进行截图,获得页面图片;

对页面图片进行分析,获得平均渲染层数。

A3、如A2所述的方法,其中,对页面图片进行分析获得平均渲染层数包括:

获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;

确定页面图片中的不同颜色的面积占比;

对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

A4、如A2所述的方法,其中,

对所述应用的页面进行截图,获得页面图片包括:遍历所述应用的各页面,分别获得各页面的页面图片;

所述对页面图片进行分析,获得平均渲染层数包括:对各页面图片分别进行分析,获得对应页面的平均渲染层数;

将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

A5、如A4所述的方法,其中,该方法进一步包括:

将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。

A6、如A2所述的方法,其中,所述对页面图片进行分析获得平均渲染层数包括:

在智能终端的本地对页面图片进行分析获得平均渲染层数;

或者,

将页面图片发送到智能终端所连接的计算设备,由计算设备对页面图片进行分析获得平均渲染层数。

A7、如A1所述的方法,其中,

所述页面过度渲染描述信息包括:该页面图片的平均渲染层数;

所述在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息包括:通过JAVA反射调用机制调用智能终端的指定接口,获取所述应用的页面的平均渲染层数。

A8、如A1-A7中任一项所述的方法,其中,该方法在智能终端上运行待测试应用之前进一步包括:

从服务器下载待测试应用的安装包到智能终端上;

在智能终端上安装待测试应用的安装包。

本发明的实施例还公开了B9、一种测试应用页面过度渲染的装置,其中,该装置包括:

测试单元,适于在智能终端上运行待测试应用,获取所述应用的页面过度渲染描述信息;

发送单元,适于将所述应用的页面过度渲染描述信息发送到指定位置,以使得所述应用的开发者根据所述应用的页面过度渲染描述信息对所述应用进行优化处理。

B10、如B9所述的装置,其中,所述页面过度渲染描述信息包括:平均渲染层数;

所述测试单元,适于开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对所述应用的页面进行截图,获得页面图片;对页面图片进行分析,获得平均渲染层数。

B11、如B10所述的装置,其中,

所述测试单元,适于获取调试GPU过度绘制选项开启条件下,页面不同颜色对应的渲染层数;确定页面图片中的不同颜色的面积占比;对于页面图片,计算该页面图片上的不同颜色的面积占比与对应的渲染层数的乘积的和,得到该页面图片的平均渲染层数。

B12、如B10所述的装置,其中,

所述测试单元,适于遍历所述应用的各页面,分别获得各页面的页面图片;对各页面图片分别进行分析,获得对应页面的平均渲染层数;将对应页面的位置信息和平均渲染层数信息作为该页面的过度渲染描述信息。

B13、如B12所述的装置,其中,

所述测试单元,进一步适于将该页面的页面图片信息也作为该页面的过度渲染描述信息的一部分。

B14、如B10所述的装置,其中,所述测试单元包括:

第一测试子单元,适于开启所述智能终端的设置项中的开发者选项中的调试GPU过度绘制选项;对所述应用的页面进行截图,获得页面图片并发送给第二测试子单元;

第二测试子单元,适于对页面图片进行分析,获得平均渲染层数;

所述第一测试子单元和第二测试子单元均位于智能终端中;或者,所述第一测试子单元位于智能终端中,所述第二测试子单元位于计算设备中。

B15、如B9所述的装置,其中,

所述页面过度渲染描述信息包括:该页面图片的平均渲染层数;

所述测试单元,适于通过JAVA反射调用机制调用智能终端的指定接口,获取所述应用的页面的平均渲染层数。

B16、如B9-B15中任一项所述的装置,其中,该装置进一步包括:

下载单元,适于从服务器下载待测试应用的安装包到智能终端上;

安装单元,适于在智能终端上安装所述应用的安装包。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1