CN112286785A - 用户界面的异常检测方法及装置 - Google Patents
用户界面的异常检测方法及装置 Download PDFInfo
- Publication number
- CN112286785A CN112286785A CN201910675369.5A CN201910675369A CN112286785A CN 112286785 A CN112286785 A CN 112286785A CN 201910675369 A CN201910675369 A CN 201910675369A CN 112286785 A CN112286785 A CN 112286785A
- Authority
- CN
- China
- Prior art keywords
- interface
- code file
- display
- user interface
- detection
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请的实施例提供了一种用户界面的异常检测方法及装置。该用户界面的异常检测方法包括:解析用户界面对应的代码文件;检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。本申请实施例的技术方案无需编译代码文件即可实现检测,能够及早发现代码文件中的不兼容性错误,缩短了用户界面的研发周期。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种用户界面的异常检测方法及装置。
背景技术
在应用程序(Application,APP)正式上线前,需对APP进行兼容性检测,其中包括检测APP的用户界面的兼容性。然而人工通过运行编译完成的代码进行检测,无法及早发现APP的用户界面的不兼容性错误,导致APP开发周期变长,且人工成本较高。
发明内容
本申请的实施例提供了一种用户界面的异常检测方法,进而至少在一定程度上可以及早发现APP的用户界面的不兼容性错误,进而缩短APP的开发周期,降低人工成本。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种用户界面的异常检测方法,包括:
解析用户界面对应的代码文件;
检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;
若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
根据本申请实施例的一个方面,提供了一种用户界面的异常检测装置,包括:
代码解析模块,用于解析用户界面对应的代码文件;
检测模块,用于检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;
异常界面确定模块,用于若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块还用于:从所述代码文件中获取界面控件的属性信息;基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示;若所述界面控件与所述显示界面不适配,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块还用于:若多个所述界面控件在所述显示界面中存在重叠,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常界面确定模块还用于:采用边缘检测算法提取多个所述界面控件的边缘;基于所提取的多个所述界面控件的边缘,采用分离轴定理对任意两个所述界面控件的边缘进行碰撞检测;若至少两个所述界面控件的边缘存在碰撞,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常界面确定模块还用于:若所述界面控件在所述显示界面中显示不完整,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常检测装置还包括规则添加模块,用于若所述代码文件中含有指定分辨率规则,则将所述指定分辨率规则添加至所述显示界面的默认分辨率规则文件;其中,所述异常界面确定模块还用于:由所述显示界面的默认分辨率规则文件中选取对应的分辨率规则;基于所述界面控件的属性信息,按照所选取的分辨率规则模拟绘制所述界面控件,并将其在所述显示界面中进行显示。
在本申请一可选实施例中,所述异常界面确定模块还用于:从所述代码文件中获取所述界面控件所支持的最低SDK版本值;若所述界面控件所支持的最低SDK版本值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块还用于:从所述代码文件中获取向量图的属性信息;获取所述向量图的各个属性信息所支持的最低SDK版本值;若所述向量图的各个属性信息所支持的最低SDK版本值中的最小值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常检测装置还包括脚本获取模块,用于根据检测脚本的预定标识信息,获取与所述预定标识信息对应的检测脚本;其中,所述代码解析模块还用于:采用所获取的检测脚本解析所述用户界面对应的代码文件。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的用户界面的异常检测方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的用户界面的异常检测方法。
在本申请的一些实施例所提供的技术方案中,通过解析用户界面所对应的代码文件,以检测该代码文件中是否存在对界面组件的指定调用方式,若该代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面,使得能够在开发人员编辑代码时,就对用户界面的兼容性进行检测,能够及早发现用户界面的不兼容性错误,进而缩短了APP的开发周期,且在自动识别不兼容性错误的过程中无需人工参与,能够降低人工成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示出了根据本申请的一个实施例的用户界面的异常检测方法的流程图;
图3示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测界面控件的流程示意图;
图4示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测界面控件是否重叠的流程示意图;
图5示出了根据本申请的一个实施例的图3的用户界面的异常检测方法中步骤S320的流程示意图;
图6示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测向量图兼容性的流程示意图;
图7示出根据本申请的一个实施例的用户界面的异常检测方法的流程示意图;
图8至图10示出了应用于本申请实施例的用户界面的异常检测方法的终端界面的示意图;
图11示出了可应用于本申请实施例的技术方案的示例性系统架构的示意图;
图12示出了根据本申请的一个实施例的用户界面的异常检测装置的框图;
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等等)、网络104和服务器105。网络104用以在终端设备和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备通过网络104与服务器105交互,以接收或发送信息等。服务器105可以是提供各种服务的服务器。例如用户利用终端设备103(也可以是终端设备101或102)向服务器105上传了待检测的代码文件,服务器105可以解析用户界面对应的代码文件,然后检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件未采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先的界面组件,当所述代码文件中存在对界面组件的指定调用方式时,则确定所述用户界面为异常界面。
需要说明的是,本申请实施例所提供的用户界面的异常检测方法一般由服务器105执行,相应地,用户界面的异常检测装置一般设置于服务器105中。
但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的用户界面的异常检测方法。例如,终端设备103(也可以是终端设备101或102)可以解析用户界面对应的代码文件,然后检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件未采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先的界面组件,当所述代码文件中存在对界面组件的指定调用方式时,则确定所述用户界面为异常界面。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例的用户界面的异常检测方法的流程图,该用户界面的异常检测方法可以由服务器来执行,该服务器可以是图1中所示的服务器。参照图2所示,该用户界面的异常检测方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,解析用户界面对应的代码文件。
其中,用户界面(User Interface,UI)是指对软件的人机交互、操作逻辑、界面美观的整体设计。根据用户界面上的图形或者文字所提供的信息,用户能够知晓如何操作以达到自己的使用需求,实现了信息的内部形式与人类可接受形式之间的转换,使用户能够方便且有效率地去操作硬件以实现人机交互。
代码文件可以是研发人员正在编写的用户界面代码,也可以是已经编写完成且还未进行编译的用户界面代码。通过解析用户界面所对应的代码文件,能够从该代码文件中获取与用户界面相关的信息,例如用户界面内的交互逻辑、界面元素的属性信息等等。
在步骤S220中,检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件未采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先的界面组件。
其中,界面组件可以是将一段或几段完成各自功能的代码段所封装成的一个或几个独立的部分,其能够以图形化的方式显示在屏幕上并与用户进行交互,例如Android用户界面中的Activity组件、Fragment组件等等。
在一个用户界面中,可以只包括一个界面组件,也可以包括多个界面组件。且在显示界面组件时,需要对其调用以进行显示。然而,在调用界面组件时,应正确使用对界面组件的调用方式,以防止错误的调用方式导致界面组件在显示时出现重叠或者显示错误等问题。
对界面组件的指定调用方式可以是可能造成界面组件出现重叠或者显示错误的调用方式。若对界面组件的调用方式为指定调用方式,则可能造成用户界面的异常。在本申请的实施例中,所述指定调用方式至少包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件。
其中,恢复界面组件采用回调方式可能会造成在先显示的界面组件与后续回调的界面组件发生重叠,例如在Android的用户界面中相应Activity组件的代码文件中调用了onSaveInstanceState()方法等。
界面组件的调用显示方式为非替换显示方式是指在显示后续界面组件时未采用替换显示的方式以替换掉在先显示的界面组件,则可能会造成在先显示的界面组件和在后显示的界面组件发生重叠,例如在Android的用户界面中显示fragment组件的方式为transaction.replace,则必然不会造成界面组件重叠,等等。
在调用界面组件之前未隐藏在先显示的界面组件是指在调用后续的界面组件之前未隐藏在先显示的界面组件,则可能会造成在先显示的界面组件和在后显示的界面之间发生重叠,例如在Android的用户界面中,如果对一个fragment调用show()之前,应需先调用hide()以隐藏在先显示的界面组件,否则可能会造成重叠,等等。
应该理解的是,本申请的实施例中所说的对界面组件的指定调用方式并不仅限于以上实施例所述的三种,本领域技术人员可根据实际检测需要添加或者修改上述的指定调用方式,本申请对此不做特殊限定。
在该实施例中,通过检测该代码文件中是否存在对界面组件的指定调用方式,能够确定代码文件中是否存在对界面组件的错误调用方式,以确定界面组件显示是否会出现重叠或者错误的情况。
继续参考图2,在步骤S220中,若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
其中,异常界面可以是与显示界面不兼容的用户界面,例如用户界面在显示界面中显示不完全、或者用户界面中的界面组件在所述显示界面中发生重叠等,则确认所述用户界面与所述显示界面不兼容即所述用户界面为异常界面。
在该图2所示的实施例中,通过在用户界面对应的代码文件未进行编译前对该代码文件进行解析,以检测该代码文件中是否存在对界面组件的指定调用方式,若有,则确定该用户界面为异常界面,使得研发人员能够自行检测并及早发现代码文件中存在的不兼容性错误,以及时修改,缩短了研发人员的开发周期,以降低后续的检测成本。
基于图2所示的实施例,图3示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测界面控件的流程示意图,在图3所示的实施例中,该用户界面的异常检测方法至少包括步骤S310至步骤S330,详细介绍如下:
在步骤S310中,从所述代码文件中获取界面控件的属性信息。
其中,界面控件可以是可在用户界面中进行显示的可视化图形元件,例如按钮、文件编辑框等等。
界面控件的属性信息可以是与界面控件相关的信息,例如界面控件的名称、形状、长度、宽度、中心点位置等信息。
在该实施例中,通过解析代码文件,以获取与界面控件相关的属性信息。具体地,通过解析代码文件以获得代码文件中存在的界面控件名称,再根据所述界面控件名称,在代码文件中获取与该界面控件名称相关的属性信息。
在步骤S320中,基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示。
其中,显示界面可以是根据目标检测终端的显示设备的参数信息所模拟的界面。应该理解的是,目标检测终端是指具有屏幕显示功能、且需要进行与用户界面之间的兼容性测试的终端设备,所述目标检测终端包括但不限于智能手机、平板电脑、台式电脑等等。由于每一目标检测终端的显示设备的参数信息(例如显示设备的尺寸大小、分辨率等)可能不同,每一目标检测终端所对应的显示界面也不尽相同。为了使用户界面与不同目标检测终端的显示设备相兼容,则同一个用户界面需要针对不同参数信息的显示界面进行兼容性检测。
在该实施例中,根据所获取的界面控件的属性信息,模拟绘制该属性信息所对应的界面控件,例如在界面控件的属性信息中,形状为长方形、长度为50、宽度为30,则根据该属性信息模拟绘制出一个长方形、长度为50、宽度为30的界面控件。模拟绘制界面控件完成后,根据该界面控件的属性信息中的中心点位置,将绘制完成的界面控件在显示界面中进行显示。需要说明的是,在一个显示界面中可以同时显示一个或多个界面控件,也可以在一个显示界面中不显示界面控件。
在步骤S330中,若所述界面控件与所述显示界面不适配,则确定所述用户界面为异常界面。
在该实施例中,当将模拟绘制的界面控件在显示界面中进行显示之后,检测界面控件是否与显示界面相适配,例如界面控件是否显示不完全、界面控件之间是否存在碰撞等等。若界面控件与显示界面不适配,则确定该用户界面为异常界面。
在图3所示的实施例中,从代码文件中获取界面控件的属性信息,并根据所获取的属性信息模拟绘制出对应的界面控件,并将绘制出的界面控件在显示界面中进行显示,通过检测检测界面控件是否与显示界面相适配,以确定用户界面是否为异常界面。使得研发人员在代码编写时即能够根据界面控件的属性信息进行兼容性检测,以及早发现代码文件中的不兼容性错误,并及时修改,缩短了用户界面的开发周期,省去了后续检测的麻烦。
基于图3所示的实施例,在本申请的一示例性实施例中,该用户界面的异常检测方法还包括:
若多个所述界面控件在所述显示界面中存在重叠,则确定所述界面控件与所述显示界面不适配。
在该实施例中,重叠可以是多个界面控件存在部分重合,也可以是多个界面控件存在完全重合。多个界面控件之间存在重叠会造成界面控件的范围不明确,使得用户无法准确使用该界面控件。因此当界面控件之间存在重叠时,代表着该界面控件与显示界面之间不适配,用户界面无法正常使用即不兼容。
请参考图4,图4示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测界面控件是否重叠的流程示意图,在图4所示的实施例中,检测界面控件是否重叠至少包括步骤S410至步骤S430,详细介绍如下:
在步骤S410中,采用边缘检测算法提取多个所述界面控件的边缘。
其中,边缘检测算法可以是根据图像轮廓的灰度值变化程度以确定图像边缘的提取算法,由于界面控件边缘的灰度值变化程度相比于非边缘处的灰度值变化程度较为剧烈,因此,当界面控件的某个位置的灰度值变化程度达到预定阈值时,则将该位置确定为界面控件的边缘。
具体地,采用Sobel边缘检测算法以提取界面控件的边缘,Sobel边缘检测算法的卷积因子如下所示:
如上所示,Sobel边缘检测算法的卷积因子包含两组3×3的矩阵,分别为横向及纵向,将之与原始图像作平面卷积,即可分别得到横向及纵向的亮度差分近似值。设A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:
Gx=(-1)*f(x-1,y-1)+0*f(x,y-1)+1*f(x+1,y-1)
+(-2)*f(x-1,y)+0*f(x,y)+2*f(x+1,y)
+(-1)*f(x-1,y+1)+0*f(x,y+1)+1*f(x+1,y+1)
=[f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]
和
Gy=1*f(x-1,y-1)+2*f(x,y-1)+1*f(x+1,y-1)
+0*f(x-1,y)0*f(x,y)+0*f(x+1,y)
+(-1)*f(x-1,y+1)+(-2)*f(x,y+1)+(-1)*f(x+1,y+1)
=[f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)]-[f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1)]
其中,f(x,y)代表原始图像(x,y)的灰度值。
基于上述计算,将原始图像的每一个像素点的横向及纵向灰度值通过以下公式结合,以计算该像素点的灰度大小:
|G|=|Gx|+|Gy|,若G大于预定阈值,则确定该像素点为界面控件的边缘点。
在该实施例中,通过采用边缘检测算法以分别提取界面控件的边缘,基于所提取的边缘则可检测界面控件的边缘是否存在重叠,以确定界面控件是否与显示界面相适配。
在步骤S420中,基于所提取的多个所述界面控件的边缘,采用分离轴定理对任意两个所述界面控件的边缘进行碰撞检测。
在该实施例中,分离轴定理是用以检测凸多边形是否碰撞的技术,基于分离轴定理,能够检测两个图形的边缘是否具有相重合的部分。通过使用分离轴定理以对任意两个界面控件的边缘进行碰撞检测,能够确定任意两个界面控件是否存在重合,即若两个界面控件的边缘存在碰撞,则代表着该两个界面控件之间存在重合,反之,则代表两个界面控件之间不存在重合。
在步骤S430中,若至少两个所述界面控件的边缘存在碰撞,则确定所述界面控件与所述显示界面不适配。
在图4所示的实施例中,通过提取模拟绘制的界面控件的边缘,并根据所提取的界面控件的边缘检测任意两个界面控件之间是否存在重合,以确定界面控件与显示界面是否相适配,免去了人工进行识别的麻烦。且该方法相比较于人工识别精度较高,检测效果更佳。应该理解的是,边缘检测算法并不仅限于Sobel边缘检测算法,在本申请其他实施例中,也可采用其他的边缘检测算法,例如Laplacian边缘检测算法、Canny边缘检测算法等等,本申请对此不做特殊限定。
基于图3所示的实施例,在本申请一示例性实施例中,该用户界面的异常检测方法还包括:
若所述界面控件在所述显示界面中显示不完整,则确定所述界面控件与所述显示界面不适配。
在该实施例中,界面控件在显示界面中显示不完整可以是界面控件的边缘超出显示界面的显示范围,若界面控件的边缘超出于显示界面的显示范围,则会造成该界面控件无法满足用户的审美需求,也可能使该界面控件的功能出现缺失。因此,当界面控件在所述显示界面中显示不完整时,则确定该用户界面为异常界面。
在本申请一示例性实施例中,从界面控件的属性信息中获取界面控件的长度、宽度以及中心点位置,基于中心点位置以及对应的长度和宽度,确定该界面控件是否超出显示界面的边界,若界面控件超出于显示界面的边界,则确定该界面控件与显示界面不适配,若界面控件未超出显示界面的边界,则确定该界面控件与显示界面相适配。
在本申请另一示例性实施例中,可以根据界面控件的长度或宽度占显示界面的对应参数的比例值以确定界面控件是否显示完整。例如当界面控件的长度占显示界面的长度的比例值达到预定比例,则确定该界面控件在显示界面中显示不完整,等等。其中,预定比例可以为预先配置,本领域技术人员可根据实际用户需求或显示界面的尺寸参数具体设置,本申请对此不做特殊限定。
基于图3所示的实施例,在本申请的一示例性实施例中,在基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示之前,该用户界面的异常检测方法还包括:
若所述代码文件中含有指定分辨率规则,则将所述指定分辨率规则添加至所述显示界面的默认分辨率规则文件。
其中,指定分辨率规则可以是由研发人员自行设置的分辨率要求,该指定分辨率规则可以包括但不限于约定分辨率的大小、DPI(Dots Per Inch,每英寸点数)的大小等等。
默认分辨率规则文件可以是每一目标检测终端的显示设备所对应的分辨率规则的集合,当针对某一目标检测终端进行兼容性检测时,则选取与该目标检测终端对应的分辨率规则以模拟绘制界面控件进行显示。
在该实施例中,研发人员基于实际市场需求或用户群体需求可设置不同于默认分辨率规则文件的指定分辨率规则,将指定分辨率规则添加至默认分辨率规则文件中,可扩大适用范围,满足更多的测试需求。
基于上述实施例,请参考图5,图5示出了根据本申请的一个实施例的图3的用户界面的异常检测方法中步骤S320的流程示意图,在图5所示的实施例中,基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示,至少包括步骤S510至步骤S520,详细介绍如下:
在步骤S510中,由所述显示界面的默认分辨率规则文件中选取对应的分辨率规则。
其中,对应的分辨率规则可以是与显示界面对应的目标检测终端的显示设备的分辨率规则。不同的目标检测终端的显示设备的参数信息(例如分辨率等)可能不同,因此不同的目标检测终端的显示设备可能对应不同的分辨率规则。在进行兼容性检测时,应选取与目标检测终端相对应的分辨率规则以满足实际检测需求。
在步骤S520中,基于所述界面控件的属性信息,按照所选取的分辨率规则模拟绘制所述界面控件,并将其在所述显示界面中进行显示。
在该实施例中,当在进行兼容性检测时,基于不同目标检测终端的显示设备的参数信息,可从默认分辨率规则文件中选取对应的分辨率规则,并按照所选取的分辨率规则模拟绘制界面控件,以检测该界面控件在不同分辨率规则下的兼容性。使得界面控件的兼容性检测更具有针对性,且根据不同分辨率规则进行模拟绘制能够满足不同的检测需求,检测效果更好。
基于图3所示的实施例,在本申请一示例性实施例中,从所述代码文件中获取界面控件的属性信息,包括:
从所述代码文件中获取所述界面控件所支持的最低SDK版本值;
其中,所述检测方法还包括:
若所述界面控件所支持的最低SDK版本值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在该实施例中,SDK(Software Development Kit,软件开发工具包)可以是用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。应该理解的是,不同的界面控件所支持的SDK版本可能不同,不同的SDK版本所对应的API(Application Programming Interface,应用程序接口)级别也不同,因此,若界面控件所支持的SDK版本值与目标检测终端所支持的SDK版本值不符合,则可能造成界面控件功能缺失或者无法显示即界面控件与目标检测终端不相兼容。
从代码文件中获取各个界面控件所支持的SDK版本值,并从中确定各个界面控件所支持的最低SDK版本值,再将其与目标检测终端所支持的最低SDK版本值相比较。若界面控件所支持的最低SDK版本值低于目标检测终端所支持的最低SDK版本值,则可能造成界面控件与目标检测终端的不兼容,因此将该用户界面确定为异常界面。
在本申请一示例性实施例中,获取目标检测终端的最低SDK版本值可以是通过解析该目标检测终端所对应的build.gradle文件,该build.gradle文件是对该目标检测终端一个项目的基本配置,因此通过解析目标检测终端所对应的build.gradle文件能够获取该目标检测终端所支持的最低SDK版本值。
请参考图6,图6示出了根据本申请的一个实施例的用户界面的异常检测方法还包括的检测向量图兼容性的流程示意图,在图6所示的实施例中,检测向量图兼容性至少包括步骤S610至步骤S620,详细介绍如下:
在步骤S610中,从所述代码文件中获取向量图的属性信息。
其中,向量图是一种基于可扩展标记语言(XML)、用于描述二维向量图形的图形格式,在实际使用中,向量图可以被任意缩放而不失真。
向量图的属性信息可以是与该向量图相关的属性信息,例如向量图的透明度、颜色、色彩混合模式等等。通过修改向量图所对应的属性信息,可对向量图进行对应修改。
在步骤S620中,获取所述向量图的各个属性信息所支持的最低SDK版本值。
其中,向量图的每一属性信息所支持的最低SDK版本值不同,例如属性信息“gradient”(斜率)所支持的最低SDK版本值为24、属性信息“fillAlpha”(填充路径的不透明度)所支持的最低SDK版本值为21等等。
在本申请一示例性实施例中,可预先配置向量图的属性信息的属性名称与该属性信息所支持的最低SDK版本值的对应关系表,当需要获取属性信息所支持的最低SDK版本值时,根据向量图的属性信息的属性名称查找该对应关系表以获取该属性信息所支持的最低SDK版本值。
在步骤S630中,若所述向量图的各个属性信息所支持的最低SDK版本值中的最小值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在该实施例中,根据所获取的向量图的各个属性信息所支持的最低SDK版本值,以确定其中的最小值,将所确定的最小值与目标检测终端所支持的最低SDK版本值相比较,若该最小值小于目标检测终端所支持的最低SDK版本值,则会造成向量图显示异常,因此,确定该用户界面为异常界面。
在图6所示的实施例中,通过解析代码文件以获得代码文件中所包含的向量图的属性信息,并对应获取该属性信息所支持的最低SDK版本值,再通过比较向量图的属性信息所支持的最低SDK版本值中的最小值与目标检测终端所支持的最低SDK版本值的大小,以确定向量图的兼容性,实现了向量图兼容性的自动检测,且针对于人工难以识别的向量图的属性信息,自动检测的结果更加准确。
基于上述实施例,在本申请一示例性实施例中,在解析用户界面对应的代码文件之前,该用户界面的异常检测方法还包括:
根据检测脚本的预定标识信息,获取与所述预定标识信息对应的检测脚本。
其中,解析所述用户界面对应的代码文件,包括:
采用所获取的检测脚本解析所述用户界面对应的代码文件。
在该实施例中,检测脚本可以是用以检测用户界面兼容性的代码文件,应该理解的是,检测脚本可以是只针对用户界面中的单种元素(例如界面控件、界面组件等)进行兼容性检测,也可以同时检测用户界面中的多种元素的兼容性,本申请对此不做特殊限定。
检测脚本的预定标识信息可以是与该检测脚本相对应且唯一的信息,例如该预定标识信息可以是检测脚本的文件名或者存储路径等等。根据该预定标识信息可获取与该预定标识信息相对应的检测脚本。通过使用所获取检测脚本对代码文件进行解析可以检测该代码文件的兼容性,免去了后续测试人员的各种重复操作,降低了人工成本。
需要说明的是,研发人员可预先约定检测脚本的预定标识信息,当需增加具有新功能的检测脚本时,可将该检测脚本与预先约定的预定标识信息相对应,例如将检测脚本存储于预先约定的存储路径、或者检测脚本的文件名配置为与预先约定的文件名相同等等,以此可增加该用户界面的异常检测方法所具有的检测功能,提高了该异常检测方法的适用范围。
基于上述实施例的技术方案,以下介绍本申请实施例的一个具体应用场景:
图7示出根据本申请的一个实施例的用户界面的异常检测方法的流程示意图,在图7所示的实施例中,该用户界面的异常检测方法至少包括步骤S710至步骤S760,详细介绍如下:
在步骤S710中,从代码文件中获取界面控件的属性信息。
在步骤S720中,检测所述代码文件中是否存在指定分辨率规则,若是,则执行步骤S730,若否,则执行步骤S740。
在步骤S730中,将所述指定分辨率规则添加至显示界面的默认分辨率规则文件。
在步骤S740中,从所述显示界面的默认分辨率规则文件中选取对应的分辨率规则。
在步骤S750中,基于所述界面控件的属性信息,按照所选取的分辨率规则模拟绘制所述界面控件,并将其在所述显示界面中进行显示。
在步骤S760中,若所述界面控件与所述显示界面不适配,则确定用户界面为异常界面。
在该实施例中,检测代码文件中是否存在指定分辨率规则,若有则将该指定分辨率规则添加至默认分辨率规则文件中。本实施例通过可添加指定分辨率的方式,以能够根据实际测试需求测试界面控件的兼容性,保证了兼容性测试的适用范围。
图8至图10示出了应用于本申请实施例的用户界面的异常检测方法的终端界面的示意图。如图8所示,当代码文件中针对界面组件的调用存在指定调用方式时(本实施例以Android的fragment组件为例),则可能会造成两个fragment组件810的重叠。
如图9和图10所示,基于界面控件的属性信息,模拟绘制界面控件并将其在显示界面中进行显示。当界面控件与显示界面不适配时(如图9中界面控件910、920存在重叠或如图10中的界面控件1010显示不完整等),即界面控件与显示界面不兼容,则确定用户界面为异常界面。
图11示出了可应用本申请实施例的技术方案的示例性系统架构的示意图,如图11所示,该系统架构包括基础能力层1110、功能层1120、适配层1130和应用层1140。
其中,基础能力层1110主要为上层提供能力支撑,该基础能力层1110具有UI资源解析能力,支持解析Android开发IDE(Integrated Development Environment,集成开发环境)支持的多种资源文件,如selector、shape和svg图等。基础能力层还具有UI资源绘制能力,可以将检测结果自绘输出到文件,并且能够将检测结果格式化输出,支持将检测结果分析整理统一输出到结果文件。
功能层1120主要以插件的方式开发,默认内置能力包含布局异常检测(例如检测界面控件是否与显示界面相适配),判断UI代码中的Button、TextView等界面控件并将其模拟绘制输出,在多分辨率、显示设置不同(如字号及字体更改、分屏)通过计算机视觉算法检测是否有重叠绘制,及绘制溢出。还包括API Level冲突检测(例如检测界面控件的最低SDK版本值、检测向量图是否异常等),以检测UI资源中是否包含API Level不一致,避免App闪退。
适配层1130主要用于适配第三方插件开发。该层主要用于做插件适配,抽象出插件通用接口,用于将功能插件化,支持第三方插件能嵌入本系统。可通过调用预定标识信息所对应的检测脚本对代码文件进行检测,以增加本系统的检测功能,适配层1130可定义通用规则的接口、每个功能层模块的规则列表、及判断规则。
应用层主1140主要用于提供系统的交互能力,同时支持通用检测能力的后台文件下发,保证基础能力层能够解析Android系统及提供第三方UI库的解析能力。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的用户界面的异常检测方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的用户界面的异常检测方法的实施例。
图12示出了根据本申请的一个实施例的用户界面的异常检测装置的框图。
参照图12所示,根据本申请的一个实施例的用户界面的异常检测装置,包括:
代码解析模块1210,用于解析用户界面对应的代码文件;
检测模块1220,用于检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;
异常界面确定模块1230,用于若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:从所述代码文件中获取界面控件的属性信息;基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示;若所述界面控件与所述显示界面不适配,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:若多个所述界面控件在所述显示界面中存在重叠,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:采用边缘检测算法提取多个所述界面控件的边缘;基于所提取的多个所述界面控件的边缘,采用分离轴定理对任意两个所述界面控件的边缘进行碰撞检测;若至少两个所述界面控件的边缘存在碰撞,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:若所述界面控件在所述显示界面中显示不完整,则确定所述界面控件与所述显示界面不适配。
在本申请一可选实施例中,所述异常检测装置还包括规则添加模块,用于若所述代码中含有指定分辨率规则,则将所述指定分辨率规则添加至所述显示界面的默认分辨率规则文件;其中,所述异常界面确定模块还用于:由所述显示界面的默认分辨率规则文件中选取对应的分辨率规则;基于所述界面控件的属性信息,按照所选取的分辨率规则绘制所述界面控件,并将其在所述显示界面中进行显示。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:从所述代码文件中获取所述界面控件所支持的最低SDK版本值;若所述界面控件所支持的最低SDK版本值小于目标终端的所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常界面确定模块1230还用于:从所述代码文件中获取向量图的属性信息;获取所述向量图的各个属性信息所支持的最低SDK版本值;若所述向量图的各个属性信息所支持的最低SDK版本值中的最小值小于目标终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
在本申请一可选实施例中,所述异常检测装置还包括脚本获取模块,用于根据检测脚本的预定标识信息,获取与所述预定标识信息对应的检测脚本;其中,所述代码解析模块还用于:采用所获取的检测脚本解析所述用户界面对应的代码文件。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图13示出的电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统包括中央处理单元(Central Processing Unit,CPU)1301,其可以根据存储在只读存储器(Read-Only Memory,ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(Random Access Memory,RAM)1303中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(Input/Output,I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种用户界面的异常检测方法,其特征在于,包括:
解析用户界面对应的代码文件;
检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;
若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
2.根据权利要求1所述的检测方法,其特征在于,还包括:
从所述代码文件中获取界面控件的属性信息;
基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示;
若所述界面控件与所述显示界面不适配,则确定所述用户界面为异常界面。
3.根据权利要求2所述的检测方法,其特征在于,还包括:
若多个所述界面控件在所述显示界面中存在重叠,则确定所述界面控件与所述显示界面不适配。
4.根据权利要求3所述的检测方法,其特征在于,还包括:
采用边缘检测算法提取多个所述界面控件的边缘;
基于所提取的多个所述界面控件的边缘,采用分离轴定理对任意两个所述界面控件的边缘进行碰撞检测;
若至少两个所述界面控件的边缘存在碰撞,则确定所述界面控件与所述显示界面不适配。
5.根据权利要求2所述的检测方法,其特征在于,还包括:
若所述界面控件在所述显示界面中显示不完整,则确定所述界面控件与所述显示界面不适配。
6.根据权利要求2所述的检测方法,其特征在于,在基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示之前,还包括:
若所述代码文件中含有指定分辨率规则,则将所述指定分辨率规则添加至所述显示界面的默认分辨率规则文件;
其中,基于所述界面控件的属性信息模拟绘制所述界面控件,并将其在显示界面中进行显示,包括:
由所述显示界面的默认分辨率规则文件中选取对应的分辨率规则;
基于所述界面控件的属性信息,按照所选取的分辨率规则模拟绘制所述界面控件,并将其在所述显示界面中进行显示。
7.根据权利要求2所述的检测方法,其特征在于,从所述代码文件中获取界面控件的属性信息,包括:
从所述代码文件中获取所述界面控件所支持的最低SDK版本值;
其中,所述检测方法还包括:
若所述界面控件所支持的最低SDK版本值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
8.根据权利要求1所述的检测方法,其特征在于,还包括:
从所述代码文件中获取向量图的属性信息;
获取所述向量图的各个属性信息所支持的最低SDK版本值;
若所述向量图的各个属性信息所支持的最低SDK版本值中的最小值小于目标检测终端所支持的最低SDK版本值,则确定所述用户界面为异常界面。
9.根据权利要求1-8中任一项所述的检测方法,其特征在于,在解析用户界面对应的代码文件之前,还包括:
根据检测脚本的预定标识信息,获取与所述预定标识信息对应的检测脚本;
其中,解析所述用户界面对应的代码文件,包括:
采用所获取的检测脚本解析所述用户界面对应的代码文件。
10.一种用户界面兼容性的检测装置,其特征在于,包括:
代码解析模块,用于解析用户界面对应的代码文件;
检测模块,用于检测所述代码文件中是否存在对界面组件的指定调用方式,其中,所述指定调用方式包括以下至少一个:恢复界面组件采用回调方式、界面组件的调用显示方式为非替换显示方式、在调用界面组件之前未隐藏在先显示的界面组件;
异常界面确定模块,用于若所述代码文件中存在对界面组件的指定调用方式,则确定所述用户界面为异常界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910675369.5A CN112286785B (zh) | 2019-07-24 | 2019-07-24 | 用户界面的异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910675369.5A CN112286785B (zh) | 2019-07-24 | 2019-07-24 | 用户界面的异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286785A true CN112286785A (zh) | 2021-01-29 |
CN112286785B CN112286785B (zh) | 2023-10-27 |
Family
ID=74418629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910675369.5A Active CN112286785B (zh) | 2019-07-24 | 2019-07-24 | 用户界面的异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286785B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420741A (zh) * | 2021-08-24 | 2021-09-21 | 深圳市中科鼎创科技股份有限公司 | 一种智能检测文件修改的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219307A1 (en) * | 2012-02-21 | 2013-08-22 | Artisan Mobile, Inc. | System and method for runtime user interface management |
CN104156252A (zh) * | 2014-08-28 | 2014-11-19 | 广州金山网络科技有限公司 | 一种应用软件安装方法及装置 |
CN109086203A (zh) * | 2018-07-20 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 页面的检测方法和装置 |
CN109491729A (zh) * | 2017-09-08 | 2019-03-19 | 深圳市中兴微电子技术有限公司 | 一种界面自动调整装置及方法 |
-
2019
- 2019-07-24 CN CN201910675369.5A patent/CN112286785B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219307A1 (en) * | 2012-02-21 | 2013-08-22 | Artisan Mobile, Inc. | System and method for runtime user interface management |
CN104156252A (zh) * | 2014-08-28 | 2014-11-19 | 广州金山网络科技有限公司 | 一种应用软件安装方法及装置 |
CN109491729A (zh) * | 2017-09-08 | 2019-03-19 | 深圳市中兴微电子技术有限公司 | 一种界面自动调整装置及方法 |
CN109086203A (zh) * | 2018-07-20 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 页面的检测方法和装置 |
Non-Patent Citations (2)
Title |
---|
PATRIK FALTSTROM; ROYAL INSTITUTE OF TECHNOLOGY; DAVE CROCKER;BRANDENBURG CONSULTING;ERIK E. FAIR; APPLE COMPUTER INC.;: "MIME Encapsulation of Macintosh files - MacMIME", IETF RFC1740 * |
王伟平;高跃进;林漫涛;: "Android界面劫持攻击检测", 工程科学与技术, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420741A (zh) * | 2021-08-24 | 2021-09-21 | 深圳市中科鼎创科技股份有限公司 | 一种智能检测文件修改的方法和系统 |
CN113420741B (zh) * | 2021-08-24 | 2021-11-30 | 深圳市中科鼎创科技股份有限公司 | 一种智能检测文件修改的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112286785B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN106776334B (zh) | 基于注释生成测试用例方法及装置 | |
US20170031799A1 (en) | Method and apparatus for creating reference images for an automated test of software with a graphical user interface | |
US9459863B2 (en) | System for assessing an application for tablet compatibility and quality | |
CN110990053A (zh) | 机器学习方案模板的创建方法、使用方法及装置 | |
CN111488109A (zh) | 用户界面的控件信息的获取方法、装置、终端及存储介质 | |
CN109324864B (zh) | 一种人机交互操作信息的获取方法及装置 | |
CN104572072A (zh) | 一种对基于mvc模式的程序的语言转换方法与设备 | |
Saar et al. | Browserbite: cross‐browser testing via image processing | |
CN113342692B (zh) | 测试用例自动生成方法、装置、电子设备及存储介质 | |
CN109298898B (zh) | 云计算资源自动配置方法及装置 | |
CN112015634A (zh) | 页面结构信息生成方法、装置和电子设备 | |
CN112286785B (zh) | 用户界面的异常检测方法及装置 | |
US20190102148A1 (en) | Development Environment for Real-Time Application Development | |
JP7029557B1 (ja) | 判定装置、判定方法および判定プログラム | |
CN108885574B (zh) | 用于监视和报告设计、编译和运行时的性能和正确性问题的系统 | |
CN115858556A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN114398282A (zh) | 测试脚本的生成方法、装置、设备及存储介质 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN114579461A (zh) | 浏览器兼容性检测方法及相关设备 | |
CN114428601A (zh) | 视觉稿检查方法及装置 | |
CN113626022A (zh) | 物模型创建方法、装置、存储介质及电子设备 | |
CN113722203A (zh) | 程序测试方法及装置、电子设备和计算机可读存储介质 | |
CN111913873A (zh) | 图片校验方法、装置、系统和计算机可读存储介质 | |
CN117112446B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |