CN116048682A - 一种终端系统界面布局对比方法及电子设备 - Google Patents
一种终端系统界面布局对比方法及电子设备 Download PDFInfo
- Publication number
- CN116048682A CN116048682A CN202210924021.7A CN202210924021A CN116048682A CN 116048682 A CN116048682 A CN 116048682A CN 202210924021 A CN202210924021 A CN 202210924021A CN 116048682 A CN116048682 A CN 116048682A
- Authority
- CN
- China
- Prior art keywords
- terminal system
- system interface
- tested
- graph structure
- interface
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本申请提供一种终端系统界面布局对比方法及电子设备,涉及计算机技术领域,可提高终端系统界面布局对比的准确度。该方法包括:获取待测试终端系统界面;对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标的信息。基于待测试终端系统界面上的各个目标的信息,计算出待测试终端系统界面上的各个目标之间的相对位置关系。基于待测试终端系统界面上的各个目标之间的相对位置关系构建第一Graph结构。计算第一Graph结构与第二Graph结构的相似度,其中第二Graph结构是基于模板终端系统界面上的各个目标之间的相对位置关系构建的。根据第一Graph结构与第二Graph结构的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种终端系统界面布局对比方法及电子设备。
背景技术
在对终端产品进行测试时,需要对终端产品的系统界面布局进行差异度对比。对此,目前业界比较普遍的解决方案是:利用图像匹配的方法,编写相应的脚本(Script),实现对终端系统界面布局的差异对比。但是,该解决方案存在以下问题:使用图像匹配方法进行对比,是通过检测待测试终端系统界面对应图像与模板终端系统界面对应图像的像素差异,来确定待测试终端系统界面与模板终端系统界面的差异,利用这样方式进行比对,终端系统界面的背景(壁纸)的不同会对对比结果造成影响,终端系统界面上应用图标处的信息提示也会对对比结果造成影响。且该解决方案需要编写脚本,对测试人员要求较高。
发明内容
本申请提供一种终端系统界面布局对比方法及电子设备,可实现对终端系统界面布局的差异对比。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种终端系统界面布局对比方法,该方法包括:
获取待测试终端系统界面。对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息。其中,目标对象包括图标和/或文本,目标对象的信息包括目标对象在待测试终端系统界面上的位置信息。基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系。根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一图Graph结构。该第一Graph结构中的每个顶点对应待测试终端系统界面上的一个目标对象,第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系。计算第一Graph结构与第二Graph结构的相似度。根据计算得到的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
应理解,上述第二Graph结构是模板终端系统界面对应的Graph结构。本申请提供的上述方案通过对终端系统界面进行目标检测,得到终端系统界面上目标对象的信息,由此构建终端系统界面对应的Graph结构。构建的Graph结构可以反映相应终端系统界面布局,包括终端系统界面具有的目标对象以及各个目标对象之间的相对位置关系。这样,把终端系统界面布局映射至Graph结构,就可以用两个终端系统界面布局对应的Graph结构的相似度来反映两个终端系统界面布局的相似度,实现两个终端系统界面布局的对比。具体的,本申请提供的上述方案通过将待测试终端系统界面布局对应的Graph结构(即第一Graph结构)与模板终端系统界面布局对应的Graph结构(即第二Graph结构)进行相似度计算,可以得到两个Graph结构的相似度,该相似度可以反映待测试终端系统界面布局与模板终端系统界面布局的相似度,由此可以实现待测试终端系统界面布局是否与模板终端系统界面布局是否一致的判断。应用本申请提供的方案对终端进行系统界面测试时,不需要写脚本,可以降低测试人员入门门槛。并且可以实现自动化、高效测试,提高测试的准确性。
在第一方面的一种可能的实现方式中,上述待测试终端系统界面上的各个目标对象之间的相对位置关系可以包括一个目标对象位于另一个目标对象的以下任一方位:正上方、正下方、正左方、正右方、左上方、右上方、左下方和右下方。
也就是说,可以待测试终端系统界面上的各个目标对象之间的8种方位关系,构建第一Graph结构,从而将待测试终端系统界面布局映射至第一Graph结构。
在第一方面的一种可能的实现方式中,上述根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一Graph结构,可以包括:针对每个目标对象,分别执行以下步骤以构建第一Graph结构:根据待测试终端系统界面上的各个目标对象之间的相对位置关系,在多个预设方向中的每个预设方向上搜索距离第一目标对象最近的第二目标对象。若搜到第二目标对象,则构建第一目标对象对应顶点到第二目标对象对应顶点的有向边。其中,第一目标对象是待测试终端系统界面中的任一个目标对象。
其中,第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系,包括:第一Graph结构中一个顶点到另一个顶点的有向边,用于表征一个顶点与另一个顶点对应的目标对象之间的相对位置关系。
在第一方面的一种可能的实现方式中,上述多个预设方向包括:右上方、正右方、右下方和正下方。或者,所述多个预设方向包括:正右方、右下方、正下方和左下方。或者,所述多个预设方向包括:右下方、正下方、左下方和正左方。或者,所述多个预设方向包括:正下方、左下方、正左方和左上方。或者,所述多个预设方向包括:左下方、正左方、左上方和正上方。或者,所述多个预设方向包括:正左方、左上方、正上方和右上方。或者,所述多个预设方向包括:左上方、正上方、右上方和正右方。或者,所述多个预设方向包括:正上方、右上方、正右方和右下方。
也就是说,一个目标对象可能位于另一个目标对象的上述8种方位(即正上方、正下方、正左方、正右方、左上方、右上方、左下方和右下方)之一。但是,在构建第一Graph结构时,只在这8种方位中选择4种方位作为预设方向。而且所选择的这4种预设方向与另外没有选择的4中预设方向一一相对。如正上方和正下方相对,那么在选择正上方作为预设方向后就不需要选择正下方作为预设方向。这样,针对待测试终端系统界面上的每个目标对象,只需要在4种预设方向上搜索距离其最近的第二目标对象,可以减小计算复杂度,也可以避免Graph结构中出现重复的边,从而减小计算量,提高处理效率。
在第一方面的一种可能的实现方式中,计算第一Graph结构与第二Graph结构的相似度,可以采用以下方式:将第一Graph结构与第二Graph结构作为输入,运行预设的基于神经网络的图相似度计算模型,得到第一Graph结构与第二Graph结构的相似度。其中,预设的基于神经网络的图相似度计算模型具有对输入的一组Graph结构进行相似度计算,得到输入的一组Graph结构的相似度的功能。
在第一方面的一种可能的实现方式中,上述方法还包括:基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对距离。上述计算第一Graph结构与第二Graph结构的相似度,还可以采用以下方式:获取第一输入数据,第一输入数据包括第一Graph结构及第一Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离。获取第二输入数据,第二输入数据包括第二Graph结构及第二Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离。根据第一输入数据和第二输入数据,计算第一Graph结构与第二Graph结构的相似度。
这样,通过结合两个Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离数据,来计算两个Graph结构的相似度,计算结果的准确度更好,能够实现相应终端系统界面更为精确的对比。
在第一方面的一种可能的实现方式中,根据计算得到的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性,包括:若相似度大于或等于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局一致。若相似度小于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局不一致。
在第一方面的一种可能的实现方式中,目标对象包括图标和文本。目标对象的信息还包括目标对象的类型信息,该类型信息可用于指示目标对象为图标或者文本。
上述基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系,包括:基于待测试终端系统界面上的目标对象的类型信息和目标对象在待测试终端系统界面上的位置信息,分别计算出待测试终端系统界面上的各个图标之间的相对位置关系以及各个文本之间的相对位置关系。
上述第一Graph结构可以包括第三Graph结构和第四Graph结构。其中,根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一Graph结构,包括:基于待测试终端系统界面上的各个图标之间的相对位置关系,构建第三Graph结构。该第三Graph结构中的每个顶点对应待测试终端系统界面上的一个图标,第三Graph结构中顶点之间相连的边用于表征顶点对应的图标之间的相对位置关系。基于待测试终端系统界面上的各个文本之间的相对位置关系,构建第四Graph结构。该第四Graph结构中的每个顶点对应待测试终端系统界面上的一个文本,第四Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系。
相应地,第二Graph结构包括第五Graph结构和第六Graph结构。第五Graph结构是模板终端系统界面中图标对应的Graph结构,第六Graph结构是模板终端系统界面中文本对应的Graph结构。
在第一方面的一种可能的实现方式中,在计算第一Graph结构与第二Graph结构的相似度之前,上述方法还可以包括:
对模板终端系统界面进行目标检测,得到模板终端系统界面上所有的目标对象的信息。其中,目标对象包括图标或文本,目标对象的信息包括目标对象在模板终端系统界面上的位置信息。基于模板终端系统界面上所有的图标的信息,计算出模板终端系统界面上的各个图标之间的相对位置关系。根据待测试终端系统界面上的各个图标之间的相对位置关系,构建第五Graph结构。该第五Graph结构中的每个顶点对应模板终端系统界面上的一个图标,第五Graph结构中顶点之间相连的边用于表征顶点对应的图标之间的相对位置关系。基于模板终端系统界面上所有的文本的信息,计算出模板终端系统界面上的各个文本之间的相对位置关系。根据待测试终端系统界面上的各个文本之间的相对位置关系,构建第六Graph结构。该第六Graph结构中的每个顶点对应模板终端系统界面上的一个文本,第六Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系。
在第一方面的一种可能的实现方式中,上述计算第一Graph结构与第二Graph结构的相似度,包括:计算第三Graph结构与第五Graph结构的相似度S1;计算第四Graph结构与第六Graph结构的相似度S2。
上述根据计算得到的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性,包括:基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
在第一方面的一种可能的实现方式中,上述基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性,包括:若相似度S1大于或等于预设相似度阈值,且相似度S2大于或等于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局一致。若相似度S1小于预设相似度阈值,或相似度S2小于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局不一致。
基于上述技术方案,可以分别构建待测试终端系统界面中图标对应的Graph结构(第三Graph结构),待测试终端系统界面中文本对应的Graph结构(第四Graph结构),模板终端系统界面中图标对应的Graph结构(第五Graph结构),模板终端系统界面中文本对应的Graph结构(第六Graph结构)。这样,可以分别实现待测试终端系统界面和模板终端系统界面中图标布局的对比,以及待测试终端系统界面和模板终端系统界面中文本布局的对比。并可以基于对终端系统界面布局上类型为图标的目标对象和类型为文本的目标对象的布局一致性要求,对于对第三Graph结构与第五Graph结构的相似度S1、第四Graph结构与所述第六Graph结构的相似度S2设置不同/相同的预设相似度阈值,来得到最终的待测试终端系统界面布局与模板终端系统界面布局一致性判定结果。或者对S1和S2设置不同/相同的权值,经过加权计算得到最终的相似度值,基于该最终的相似度值来得到最终的待测试终端系统界面布局与模板终端系统界面布局一致性判定结果。也就是说,基于上述技术方案,可以根据测试需求灵活调整比对参数和比对方法。
在第一方面的一种可能的实现方式中,上述获取待测试终端系统界面,包括:接收来自待测试终端的待测试终端系统界面,待测试终端系统界面是待测试终端截屏得到的。或者,接收来自待测试终端的录屏视频,从录屏视频中提取图像帧,将图像帧作为待测试终端系统界面。
在第一方面的一种可能的实现方式中,上述对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息,包括:将待测试终端系统界面作为输入,运行预设的目标检测模型,输出待测试终端系统界面上所有的目标对象的信息。其中,预设的目标检测模型具有对输入的终端系统界面进行目标检测,得到输入的终端系统界面上的目标对应的信息的功能。
在第一方面的一种可能的实现方式中,上述方法还包括:构建训练集。该训练集包括多组训练样本数据对,每组训练样本数据对包括一张训练样本图像和训练样本图像对应的标注信息。其中,训练样本图像为终端系统界面。训练样本图像对应的标注信息为终端系统界面上的目标对象的信息。将训练样本数据对中的训练样本图像作为输入样本,训练样本图像对应的标注信息作为输出样本,训练目标检测模型。
在第一方面的一种可能的实现方式中,上述方法还包括:构建验证集。该验证集包括多组验证样本数据对,每组验证样本数据对包括一张验证样本图像和验证样本图像对应的标注信息。其中,验证样本图像为终端系统界面。验证样本图像对应的标注信息为终端系统界面上的目标对象的信息。在使用至少一组训练样本数据对训练目标检测模型后,将验证集中的验证样本图像作为目标检测模型的输入,运行目标检测模型,输出对应的检测结果。比较验证集中验证样本图像对应的标注信息与检测结果,确定目标检测模型的准确率。当准确率小于预设阈值t时,重新调整目标检测模型的参数,并使用训练集重新训练目标检测模型。当准确率大于或等于预设阈值t时,保存目标检测模型,作为预设的目标检测模型。
在第一方面的一种可能的实现方式中,在基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系之前,上述方法还包括:若待测试终端系统界面上的目标对象的总数与模板终端系统界面上的目标对象的总数相同,且待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比相同,则基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系。
在第一方面的一种可能的实现方式中,上述方法还包括:若待测试终端系统界面上的目标对象的总数与模板终端系统界面上的目标对象的总数不同,则认定待测试终端系统界面布局与模板终端系统界面布局不一致。或者,若测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比不同,则认定待测试终端系统界面布局与模板终端系统界面布局不一致。
也就是说,可以先对待测试终端系统界面上的目标对象总数与模板终端系统界面上的目标对象总数,以及待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比进行比对,若待测试终端系统界面与模板终端系统界面上的目标对象总数或同种类型的目标对象的占比不一致,就可以认定待测试终端系统界面布局与模板终端系统界面布局不一致,这样,可以不用进行Graph结构构建及图相似度比对,就可以快速得到测试结果,提高了测试效率。
而且,只有在待测试终端系统界面上的目标对象总数与模板终端系统界面上的目标对象总数相同,待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比相同,且待测试终端系统界面对应的Graph结构与模板终端系统界面对应Graph结构之间相似度大于或等于预设相似度阈值的情况下,才会认定待测试终端系统界面布局与模板终端系统界面布局一致,从而可以实现对待测试终端系统界面布局进行更严格的测试。
第二方面,提供了一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请提供一种电子设备,包括存储器和一个或多个处理器;存储器处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如上述第一方面及其任一种可能的实现方式中的终端系统界面布局对比方法。
第四方面,本申请提供一种电子设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面及其任一种可能的实现方式中的终端系统界面布局对比方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述第一方面及其任一种可能的实现方式中的终端系统界面布局对比方法。
第六方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面及其任一种可能的实现方式中的终端系统界面布局对比方法。
第七方面,本申请提供一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
可以理解地,上述第二方面至第其方面所能达到的有益效果,可参考第一方面及其任一种可能的实现方式的有益效果,此处不再赘述。
附图说明
图1为本申请实施例中一种软件测试构成示意图;
图2为本申请实施例中一种模板手机系统界面示意图;
图3A为本申请实施例中一种手机系统界面布局出现文字乱码的示意图;
图3B为本申请实施例中一种手机系统界面布局出现图标显示缺失的示意图;
图3C为本申请实施例中一种手机系统界面布局出现图标位置偏移的示意图;
图3D为本申请实施例中一种待测试手机系统界面的示意图;
图4为本申请实施例提供的一种终端系统界面布局对比方法的构架图;
图5为本申请实施例提供的一种终端的硬件结构示意图;
图6为本申请实施例提供的一种终端系统界面布局对比方法的流程图;
图7A为本申请实施例中的一种目标检测模型训练流程图;
图7B为本申请实施例中的一种目标标注示意图;
图7C为本申请实施例中的一种目标检测模型训练流程图;
图8为本申请实施例中的一种目标之间相对位置关系示意图;
图9A为本申请实施例中针对图2所示的模板手机系统界面构建的一种第五Graph结构示意图;
图9B为本申请实施例中针对图2所示的模板手机系统界面构建的一种第六Graph结构示意图;
图9C为本申请实施例中针对图3A所示手机系统界面构建的一种第四Graph结构示意图;
图9D为本申请实施例中针对图3B所示手机系统界面构建的一种第三Graph结构示意图;
图9E为本申请实施例中针对图3C所示手机系统界面构建的一种第三Graph结构示意图;
图9F为本申请实施例中针对图3D所示手机系统界面构建的一种第三Graph结构示意图;
图9G为本申请实施例中针对图3D所示手机系统界面构建的一种第四Graph结构示意图;
图10为本申请实施例中一种待测试终端系统界面与模板终端系统界面对比流程图;
图11为本申请实施例的一种芯片系统示意图。
具体实施方式
需要说明的是,在本申请实施例中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例中所提到的方位用语,例如,“上”、“下”、“左”、“右”等,仅是参考附图的方向,或是为了更好、更清楚地说明及理解本申请实施例,而不是指示或暗指所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请实施例的限制。
在本申请实施例的描述中,术语“包括”、“包含”或者其任何其他变体,意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
为便于理解本申请技术方案,以下对本申请中涉及的技术属于进行介绍。
图(Graph)结构:是由顶点的集合和顶点之间边的集合组成。其中,顶点是Graph结构中的节点,边是顶点之间的连线通常表示为:G(V,E),其中,G表示一个Graph结构,V是Graph结构G中顶点的集合,E是Graph结构G中边的集合。若V={v1,v2,...,vn},可以用|V|表示Graph结构G中顶点的个数,也称Graph结构G的阶,E={(u,v)|u∈V,v∈V},可以用|E|表示Graph结构G中边的条数,其中(u,v)表示顶点u和顶点v之间的边。Graph结构按照方向可分为有向图和无向图:对于一个Graph结构,若每条边都是没有方向的,则称该Graph结构为无向图。对于一个Graph结构,若每条边都是有方向的(如从一个顶点指向另一个顶点),则称该Graph结构为有向图。有些Graph结构的边具有与它相关的数字,这种与Graph结构的边相关的数叫做权值(Weight)。如图9A所示的Graph结构,其中img1-img11表示该Graph结构中的顶点,而顶点之间的连线表示该Graph结构中的边,该Graph结构中的边是有方向的,为有向图。
目标检测(Object Detection):目标基础的任务是找出图像中所有感兴趣的目标对象(元素),确定它们的类别(Classification)及其在图像中的位置(Location),是计算机视觉领域的核心问题之一。
软件测试:软件测试包括单元测试(unit testing)、服务测试(service testing)和用户界面(user interface,UI)测试。其中,单元测试,是指对软件中的最小可测试单元(最小的可测试功能模块)进行检查和验证。UI测试是手动或使用自动化测试工具执行的,是软件测试周期的重要组成部分,目的是为了验证应用程序是否具有所需的功能以及它们是否对用户友好,确保所有UI元素都符合要求的规范,这不仅有利于提高软件质量,而且可以保证用户在使用最终的应用程序时的体验。参考图1,图1为软件测试构成示意图,如图1所示,从单元测试到UI测试,测试的完整度更高,花费的时间也越多。
在对终端进行UI测试时,需要检测待测试终端系统界面布局存在文字乱码、图标显示缺失、图标位置偏移等错误。以上述终端为手机为例,参考图2及图3A-图3C,介绍上述终端系统界面布局可能存在的各种问题。如图2所示,为正常的手机系统界面(模板手机系统界面)示意图,图3A-图3C为手机系统界面出现各种错误的示意图。相对于图2中的模板终端系统界面,图3A所示界面出现了文字乱码,具体为对应于图2中“电子邮件”的文字显示为乱码;图3B所示界面出现了图标显示缺失,具体为对应于图2中“音乐”和“运动健康”图标缺失;而图3C所示界面出现了图标位置偏移,具体为对应于图2中“运动健康”图标位置偏移。对于上述问题,可以将待测试终端系统界面布局与模板终端系统界面布局进行差异度对比,以识别待测试终端系统界面布局是否存在错误。
现有的解决方案,如现有的使用appium工具、eggplant工具或airtest工具进行终端系统界面测试的方法,它们利用图像匹配实现两个终端系统界面布局的差异对比。也就是说,现有的解决方案通过检测待测试终端系统界面对应图像与模板终端系统界面对应图像的像素差异,来确定待测试终端系统界面与模板终端系统界面的差异。利用这种方式进行对比,终端使用的背景(壁纸)的不同会对对比结果造成较大的影响,终端系统应用图标处的信息提示也会对对比结果造成影响。
例如,以上述终端为手机为例,参见图2和图3D,图2和图3D分别示出了一种模板手机系统界面和待测试手机系统界面的示意图,两者对应的手机系统界面布局实质上是一样的,但是因为两者使用的背景不同,显示的时间不同,两者图标上的是否有提示信息不同。具体地,图2所示的模板手机系统界面与图3D所示的待测试手机系统界面所使用的手机壁纸不同。由于对模板手机和待测试手机进行录屏或截屏时间不同,导致图2所示的模板手机系统界面上的时间为08:55,而图3D所示的待测试手机系统界面上的时间为09:20。且图2所示的模板手机系统界面上相应的两个图标右上角则没有信息提示,而图3D所示的待测试手机系统界面上有两个图标右上角带有信息提示。那么,在基于模板手机系统界面和待测试手机系统界面对应图像的像素差异,比较模板手机系统界面和待测试手机系统界面时,上述区别将导致模板手机系统界面和待测试手机系统界面对应图像的像素存在差异,则可能导致比对结论为模板手机系统界面和待测试手机系统界面的布局是不同的,从而误判待测试手机系统界面存在错误。所以现有的利用图像匹配实现两个终端系统界面布局的差异对比的解决方案,精度较低。
此外,现有的解决方案需要编写脚本进行测试,而脚本编写需要一定基础,因此该方案对测试人员有较高的代码基础要求。并且,不同终端在类型、品牌、型号、分辨率、屏占比等参数上出现不同时,对于终端的系统界面布局也会造成较大影响,其终端系统版本迭代快,型号多,整体数量不断增长,单纯依靠人工完成测试(如beta测试),需要大量测试人员,工作量大,需要消耗过多的人力物力。
针对上述问题,本申请实施例提供一种终端系统界面布局对比方法及电子设备。参见图4,图4示出了本申请提供的终端系统界面布局对比方法的构架图。如图4所示,该方法包括:获取待测试终端系统界面。对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息。其中,目标对象包括图标和/或文本。目标对象的信息包括目标对象在待测试终端系统界面上的位置信息。基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系。根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一Graph结构。该第一Graph结构中的每个顶点对应待测试终端系统界面上的一个目标对象,该第一Graph结构中顶点之间相连的边可以表征顶点对应的目标对象之间的相对位置关系。计算第一Graph结构与第二Graph结构的相似度。其中,第二Graph结构是模板终端系统界面对应的Graph结构。根据计算得到的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
应理解,本申请实施例中第二Graph结构可以利用与构建第一Graph结构类似的方式构建得到,即获取模板终端系统界面。对模板终端系统界面进行目标检测,得到模板终端系统界面上所有的目标对象的信息。其中,目标对象包括图标和/或文本。目标对象的信息包括目标对象在模板终端系统界面上的位置信息。基于模板终端系统界面上所有的目标对象的信息,计算出模板终端系统界面上的各个目标对象之间的相对位置关系。根据模板终端系统界面上的各个目标对象之间的相对位置关系,构建第二Graph结构。该第二Graph结构中的每个顶点对应模板终端系统界面上的一个目标对象,该第二Graph结构中顶点之间相连的边可以表征顶点对应的目标对象之间的相对位置关系。
这样,第一Graph结构可以反映待测试终端系统界面布局。第二Graph结构可以反映模板终端系统界面布局。由此,可以根据第一Graph结构与第二Graph结构的相似度来判定待测试终端系统界面布局与模板终端系统界面布局的一致性,得到一致性对比结果。
本申请实施例提供的方案通过对终端系统界面进行目标检测,得到终端系统界面上目标对象的信息,由此构建终端系统界面对应的Graph结构。构建的Graph结构可以反映相应终端系统界面布局,包括终端系统界面具有的目标对象以及各个目标对象之间的相对位置关系。这样,把终端系统界面布局映射至Graph结构,就可以用两个终端系统界面布局对应的Graph结构的相似度来反映两个终端系统界面布局的相似度,实现两个终端系统界面布局的对比。具体的,本申请实施例通过将待测试终端系统界面布局对应的Graph结构(即第一Graph结构)与模板终端系统界面布局对应的Graph结构(即第二Graph结构)进行相似度计算,可以得到两个Graph结构的相似度,该相似度可以反映待测试终端系统界面布局与模板终端系统界面布局的相似度,由此可以用于判断待测试终端系统界面布局是否与模板终端系统界面布局是否一致,即若得到的相似度大于或等于预设相似度阈值,则说明待测试终端系统界面布局与模板终端系统界面布局之间的相似性较高,可以认为待测试终端系统界面布局与模板终端系统界面布局一致,待测试终端系统界面布局未出现错误;若相似度小于预设相似度阈值,则说明待测试终端系统界面布局与模板终端系统界面布局之间不一致,两者差异较大,可以认为待测试终端系统界面布局出现了错误。应用本申请实施例提供的方案对终端进行系统界面测试时,不需要写脚本,可以降低测试人员入门门槛。并且,本申请实施例提供的方案可以适用于不同品牌、型号、分辨率、屏占比等参数的终端进行系统界面测试,实现自动化测试,可以减少人工测试工作量,提高终端系统一致性测试的效率,且提高测试的准确性。
下面将结合附图对本申请实施例的实施方式进行详细描述。
本申请实施例中的待测试终端可以是手机、智能手表、电脑(如平板电脑、笔记本电脑、台式电脑等)、电视机等。
本申请实施例中的电子设备可以是手机、电脑、本地服务器、云服务器等。下面以电子设备是手机为例,介绍电子设备的硬件结构。请参考图5,为本申请实施例提供的一种电子设备500的硬件结构示意图。如图5所示,电子设备500可以包括:处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriberidentification module,SIM)卡接口595等。
其中,上述传感器模块580可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对电子设备500的具体限定。在另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备500的结构限定。在另一些实施例中,电子设备500也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块540用于从充电器接收充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为电子设备供电。
电源管理模块541用于连接电池542、充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,外部存储器,显示屏594,摄像头593,和无线通信模块560等供电。
电子设备500的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。在一些实施例中,电子设备500的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得电子设备500可以通过无线通信技术与网络以及其他设备通信。
电子设备500通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像,视频等。该显示屏594包括显示面板。例如,显示屏594可以是触摸屏。
电子设备500可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。
ISP用于处理摄像头593反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头593中。
摄像头593用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备500可以包括N个摄像头593,N为大于1的正整数。
DSP用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备500在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备500可以支持一种或多种视频编解码器。这样,电子设备500可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备500的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备500的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行电子设备500的各种功能应用以及数据处理。例如,在本申请实施例中,处理器510可以通过执行存储在内部存储器521中的指令,内部存储器521可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备500可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键590包括开机键,音量键等。马达591可以产生振动提示。指示器592可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口595用于连接SIM卡。SIM卡可以通过插入SIM卡接口595,或从SIM卡接口595拔出,实现和电子设备500的接触和分离。电子设备500可以支持一个或N个SIM卡接口,N为大于1的正整数。SIM卡接口595可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
陀螺仪传感器可以是三轴陀螺仪,用于追踪电子设备500在6个方向的状态变化。加速度传感器用于检测电子设备500的运动速度、方向以及位移。本申请实施例中,电子设备500可以通过陀螺仪传感器和加速度传感器检测电子设备500的状态和位置。当电子设备500的状态和位置相比于初始位置和初始状态发生较大变化时,电子设备500可以实时在显示屏594上提醒用户及时纠正电子设备500的状态和位置。
以下实施例中的方法均可以在具有上述硬件结构的电子设备500中实现。
本申请实施例提供一种终端系统界面布局对比方法,该方法可以应用于上述电子设备500,该电子设备500作为测试设备(测试系统)用于进行待测试终端系统界面布局与模板终端系统界面布局的对比。参见图6,图6示出了本申请提供的终端系统界面布局对比方法的流程图。如图6所示,该方法可以包括步骤S601-S606。
本申请实施例提供一种终端系统界面布局对比方法,包括:
S601.电子设备500获取待测试终端系统界面。
在一些实施例中,电子设备500可以接收来自待测试终端的待测试终端系统界面。该待测试终端系统界面是待测试终端截屏得到的。
在另一些实施例中,电子设备500可以接收来自待测试终端的录屏视频,并从录屏视频中提取图像帧,将该图像帧作为待测试终端系统界面。
应理解,在对待测试终端进行系统界面布局检测时,同样需要获取模板终端系统界面。获取模板终端系统界面,可以采用与获取待测试终端系统界面类似的方法。比如,电子设备500可以接收来自模板终端的模板终端系统界面。该模板终端系统界面是模板终端截屏得到的。或者,电子设备500可以接收来自模板终端的录屏视频,从录屏视频中提取图像帧,将该图像帧作为模板终端系统界面。应理解,模板终端系统界面可以是在对待测试终端系统界面布局进行检测之前提前获取到的,也可以是在对待测试终端系统界面布局进行检测时获取的,本申请实施例对于获取模板终端系统界面的时间不进行限制。
本申请实施例提供的方案可以适用于不同品牌、型号、分辨率、屏占比等参数的终端进行系统界面测试。但是应理解,不同手机在品牌、型号、分辨率、屏占比等参数上出现不同时,对于终端的系统界面布局也会造成较大影响。因此,在对待测试终端进行系统界面布局检测时,需要根据以下要求选取模板终端:在待测试终端系统界面布局不存在错误(即显示正常)的情况下,其系统界面布局与模板终端系统界面布局一致。比如说,模板终端可以选取与该待测试终端的设备类型、型号相同、且装载的系统相同(包括系统类型相同,系统版本也相同)的设备作为模板终端。当然,模板终端的选取范围不限如此,即使是与待测试终端不同型号(如不同尺寸、不等分辨率等)和不同系统版本的设备,比如待测试终端和模板终端为不同型号和不同系统版本的手机,只要在待测试手机界面布局显示正常的情况下,待测试手机界面布局与该模板手机界面布局一致,那么就可以用该模板手机对该种待测试手机界面布局进行检测。也就是说,利用本申请实施例提供的方案,同一模板手机系统界面及其对应的Graph结构可以应用于多种型号和系统版本的待测试手机系统界面布局的检测,因此本申请实施例可以有效解决终端跨型号和系统版本的界面布局一致性检测问题。
通过该步骤,可以获取到待测试终端系统界面;这样,在后续步骤中,可以基于本步骤中获取到的待测试终端系统界面,得到待测试终端系统界面上的目标对象信息,并将待测试终端系统界面上的目标对象信息与模板终端系统界面上的目标对象信息进行比对,从而判断待测试终端系统界面与模板终端系统界面的一致性。
S602.电子设备500对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息。其中,目标对象包括图标和/或文本。目标对象的信息包括目标对象在待测试终端系统界面上的位置信息。
在一些实施例中,可以通过预设的目标检测模型对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息。具体地,将待测试终端系统界面作为输入,运行预设的目标检测模型,输出待测试终端系统界面上所有的目标对象的信息。其中,预设的目标检测模型具有对输入的终端系统界面进行目标检测,得到输入的终端系统界面上的目标对象的信息的功能。
在一些实施例中,待测试终端系统界面上的目标对象包括图标和文本。在此实施例中,目标对象的信息包括目标对象的类型信息和目标对象在待测试终端系统界面上的位置信息。对待测试终端系统界面进行目标检测,即检测出待测试终端系统界面上的目标对象(包括图标和文本)的类型信息和目标对象在待测试终端系统界面上的位置信息。
结合上述两种实施例,通过预设的目标检测模型对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息。其中,待测试终端系统界面上的目标对象包括图标和文本,目标对象的信息包括目标对象的类型信息和目标对象在待测试终端系统界面上的位置信息。
应理解,还可以使用预设的目标检测模型对模板终端系统界面进行目标检测。其中,目标对象包括图标和/或文本。目标对象的信息包括目标对象的类型信息和目标对象在模板终端系统界面上的位置信息。对模板终端系统界面进行目标检测,即检测出待测试终端系统界面上的目标对象(包括图标和文本)的类型信息和目标对象在模板终端系统界面上的位置信息。当然,对模板终端系统界面进行目标检测可以是在对待测试终端系统界面布局进行检测之前提前完成的,本申请实施例对于对模板终端系统界面进行目标检测的时间不进行限制。
在一些实施例中,上述方法还包括训练得到预设的目标检测模型。
示例性地,训练得到预设的目标检测模型可以包括以下步骤:
构建训练集。该训练集包括多组训练样本数据对,每组训练样本数据对包括一张训练样本图像和训练样本图像对应的标注信息。其中,训练样本图像为终端系统界面;训练样本图像对应的标注信息为终端系统界面上的目标对象的信息。将训练样本数据对中的训练样本图像作为输入样本,训练样本图像对应的标注信息作为输出样本,训练目标检测模型。
示例性地,训练得到预设的目标检测模型还可以包括以下步骤:
构建验证集。该验证集包括多组验证样本数据对,每组验证样本数据对包括一张验证样本图像和验证样本图像对应的标注信息。其中,验证样本图像为终端系统界面;验证样本图像对应的标注信息为终端系统界面上的目标对象的信息。在使用至少一组训练样本数据对训练目标检测模型后,将验证集中的验证样本图像作为目标检测模型的输入,运行目标检测模型,输出对应的检测结果。比较验证集中验证样本图像对应的标注信息与检测结果,确定目标检测模型的准确率。若准确率小于预设阈值t,则重新调整目标检测模型的参数,并使用训练集重新训练目标检测模型。若准确率大于或等于预设阈值t,则保存目标检测模型,作为预设的目标检测模型。
示例性地,参考图7A,图7A示出了一种目标检测模型的训练过程。该训练过程可以由电子设备500来执行,也可以由服务器或者其他设备来执行。也就是说,也可以在服务器或者其他设备上训练好目标检测模型,然后发送给电子设备500,由电子设备500使用该训练好目标检测模型作为预设的目标检测模型,用于对待测试终端系统界面进行目标检测,本申请实施例对此不作限制。
该训练过程可以包括步骤S701-S703。
S701.构建样本数据集。该样本数据集包括多组(大量)样本数据对,每组样本数据对包括一张样本图像和该样本图像对应的标注信息。其中,样本图像为终端系统界面,样本图像对应的标注信息是终端系统界面上的目标对象的信息。
在一些实施例中,本步骤中的终端系统界面的获取方法可以采用与上述步骤S601中获取待测试终端系统界面类似的方法。
在另一些实施例中,本步骤中的终端系统界面也可以来自于开源数据集。
在一些实施例中,本步骤中的样本图像对应的标注信息通过以下方法得到:对样本图像进行目标对象标注,使用图像标注工具(如LabelImg)对样本图像进行目标对象(包括图标和/或文本)的标注,标注工具可以生成样本图像对应的标注信息(一般以xml或json文件存储)。使用图像标注工具对样本图像进行目标对象的标注的结果示意图如图7B所示。
S702.对样本数据集进行划分,得到训练集(Train Set)和验证集(ValidationSet)。
应理解,对样本数据集进行划分,得到训练集、验证集和测试集(Test Set)。示例性地,可以按照6:2:2的比例将样本数据集划分为训练集、验证集以及测试集。其中,训练集用于训练目标检测模型。其中,验证集用于在目标检测模型的训练过程中,每个训练轮次结束后用来验证当前的目标检测模型的性能,为进一步优化目标检测模型提供参考,其中优化目标检测模型包括调整目标检测模型的参数,包括损失函数、优化器、训练次数等参数。测试集用于检验最终得出的目标检测模型的性能。
S703.对目标检测模型进行训练,以使训练后的目标检测模型具备对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息的功能。
应理解,在目标检测模型的训练过程中,每个训练轮次结束后,可以基于验证集验证当前的目标检测模型的性能。
示例性地,如图7C所示,上述步骤S703可以包括S7031-S7036。
S7031、将训练集中的样本图像作为输入样本,训练集中的样本图像对应的标注信息作为输出样本,训练目标检测模型。
S7032、将验证集中的样本图像作为目标检测模型的输入,运行目标检测模型,输出对应的检测结果。
S7033、基于验证集中样本图像对应的标注信息与目标检测模型输出的该样本图像对应的检测结果,确定目标检测模型的准确率。
S7034、判断准确率是否大于或等于预设阈值t,若准确率小于预设阈值t,则执行S7035;若准确率大于或等于预设阈值t,则执行S7036;
S7035、重新调整目标检测模型的参数,并使用训练集重新训练目标检测模型(即返回S7031)。
S7036、保存目标检测模型,作为预设的目标检测模型。
应理解,在得到预设的目标检测模型后,可以基于测试集检验该预设的目标检测模型的性能。
示例性地,目标检测模型可以采用深度学习模型,如快速基于区域的卷积神经网络(Faster Region-based Convolutional Neural Network,Faster R-CNN)、基于区域的全卷积网络(Region-based Fully Convolutional Net,R-FCN)、单次检测器(Single-ShotDetector,SSD)等。本申请实施例对于目标检测模型的结构及实现算法不进行限制。
在一些实施例中,对待测试终端系统界面进行目标检测,得到该待测试终端系统界面上所有的目标对象的信息,包括:对该待测试终端系统界面进行目标检测,得到标记有多个目标检测框(或称边界框,bounding box)的待测试终端系统界面,每个目标检测框对应于待测试终端系统界面上的一个目标对象。每个目标检测框上带有其对应的目标对象的类型信息及其对应的目标对象在待测试终端系统界面上的位置信息(如目标检测框四个顶点在待测试终端系统界面上的二维坐标)。
S603.电子设备500基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系。
在一些实施例中,如图8所述,待测试终端系统界面上的各个目标对象之间的相对位置关系可以包括一个目标对象位于另一个目标对象的以下任一方位:正上方、正下方、正左方、正右方、左上方、右上方、左下方和右下方。也就是说,一个目标对象可能位于另一个目标对象上述8种方位之一。
示例性地,目标对象在待测试终端系统界面上的位置信息,包括该目标对象对应的目标检测框四个顶点在在待测试终端系统界面上的二维坐标。
示例性地,以终端系统界面的宽度方向作为x轴,将终端系统界面由左向右的方向作为x轴的正方向。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框上边的中点向正上方作射线(如该射线与x轴的正方向成90°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的正上方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框下边的中点向正下方作射线(如该射线与x轴的正方向成270°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的正下方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框左边的中点向正左方作射线(如该射线与x轴的正方向成180°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的正左方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框右边的中点向正右方作射线(如该射线与x轴的正方向成0°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的正右方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框的左上顶点向左上方作射线(如该射线与x轴的正方向成135°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的左上方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框的右上顶点向右上方作射线(如该射线与x轴的正方向成45°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的右上方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框的左下顶点向左下方作射线(如该射线与x轴的正方向成225°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的左下方。
对于两个目标对象(如目标对象一和目标对象二),从目标对象一对应的目标检测框的右下顶点向右下方作射线(如该射线与x轴的正方向成315°),若目标对象二对应的目标检测框与该射线相交,则可以判定目标对象二位于目标对象一的右下方。
S604.电子设备500根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一Graph结构。该第一Graph结构中的每个顶点对应待测试终端系统界面上的一个目标对象。第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系。
这样,第一Graph结构可以反映待测试终端系统界面布局。这样,可以用第一Graph结构与第二Graph结构之间的相似度,来反映待测试终端系统界面布局与模板终端系统界面布局是否一致。
在一些实施例中,针对待测试终端系统界面上的每个目标对象,分别执行以下步骤以构建第一Graph结构:根据待测试终端系统界面上的各个目标对象之间的相对位置关系,在多个预设方向中的每个预设方向上搜索距离第一目标对象最近的第二目标对象。若搜到第二目标对象,则构建第一目标对象对应顶点到第二目标对象对应顶点的有向边。其中,第一目标对象是待测试终端系统界面中的任一个目标对象。上述第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系,包括:第一Graph结构中一个顶点到另一个顶点的有向边,用于表征一个顶点与另一个顶点对应的目标对象之间的相对位置关系。
在一些实施例中,多个预设方向包括:右上方、正右方、右下方和正下方。或者,所述多个预设方向包括:正右方、右下方、正下方和左下方。或者,所述多个预设方向包括:右下方、正下方、左下方和正左方。或者,所述多个预设方向包括:正下方、左下方、正左方和左上方。或者,所述多个预设方向包括:左下方、正左方、左上方和正上方。或者,所述多个预设方向包括:正左方、左上方、正上方和右上方。或者,所述多个预设方向包括:左上方、正上方、右上方和正右方。或者,所述多个预设方向包括:正上方、右上方、正右方和右下方。
也就是说,参照图8,一个目标对象可能位于另一个目标对象的8种方位之一。但是,在构建第一Graph结构时,只在这8种方位中选择4种方位作为预设方向。而且所选择的这4种预设方向与另外没有选择的4中预设方向一一相对。如正上方和正下方相对,那么在选择正上方作为预设方向后就不需要选择正下方作为预设方向。这样,针对待测试终端系统界面上的每个目标对象,只需要在4种预设方向上搜索距离其最近的第二目标对象,可以减小计算复杂度,也可以避免Graph结构中出现重复的边,从而减小计算量,提高处理效率。
示例性地,上述构建的第一Graph结构可以用一个对应的邻接矩阵(AdjacencyMatrix)M1来保存。该邻接矩阵M1是用于表示顶点之间相邻关系的矩阵。对于含有n个顶点的Graph结构,其对应的邻接矩阵M1是一个n阶方阵,即一个n×n的矩阵。邻接矩阵M1的元素可以表示相应Graph结构的相应顶点之间是否有有向边相连。设邻接矩阵M1第i行第j列的元素为M1[i,u]。若M1[i,j]对应的Graph结构的顶点vi和vj之间有有向边相连,即有vi到vj的有向边,则M1[i,j]=1;若M1[i,j]对应的Graph结构的顶点vi和vj之间没有有向边相连,即没有vi到vj的有向边,则M1[i,j]=0。
应理解,还可以通过上述构建第一Graph结构类似的方式构建第二Graph结构。当然,第二Graph结构可以是在对待测试终端系统界面布局进行检测之前提前构建好的,本申请实施例不对构建第二Graph结构的执行时间进行限制。
S605.电子设备500计算第一Graph结构与第二Graph结构的相似度。其中,第二Graph结构是模板终端系统界面对应的Graph结构。
本申请实施例对于计算两个Graph结构的相似度的算法不作限制。
在一些实施例中,可以使用基于神经网络的图相似度计算模型来计算两个Graph结构(如第一Graph结构和第二Graph结构)之间的相似度,即将第一Graph结构与第二Graph结构作为输入,运行预设的基于神经网络的图相似度计算模型,得到第一Graph结构与第二Graph结构的相似度。其中,预设的基于神经网络的图相似度计算模型具有对输入的一组Graph结构进行相似度计算,得到输入的一组Graph结构的相似度的功能。
上述基于神经网络的图相似度计算模型可以采用快速图相似度计算的神经网络(A Neural Network Approach to Fast Graph Similarity Computation,SimGNN)模型等。
SimGNN进行Graph结构相似度计算,包括以下步骤:对于输入的一组Graph结构(如Graph1和Graph2),分别将其进行向量表示(即图嵌入,Graph Embedding),再根据图对应的向量来计算相似度。将Graph结构进行向量表示包括:首先对Graph结构中不同的顶点进行独热编码(即one-hot encoding,又称一位有效编码),得到该Graph结构对应的独热向量。例如,一个Graph结构有8个节点,对应可以得到8个独热向量(one-hot向量)。将Graph结构对应的所有独热向量作为图卷积网络(Graph convolutional network)的输入,通过图卷积网络进行特征提取,得到该Graph结构对应的节点级嵌入向量(Node-LevelEmbeddings)。基于Graph结构对应的节点级嵌入向量,利用注意力机制,得到该Graph结构对应的图级嵌入向量(Graph-Level Embeddings)。采用神经张量网络(Neural TensorNetwork,NTN)计算两个Graph结构对应的图级嵌入向量的相似度,即将两个Graph结构对应的图级嵌入向量输入神经张量网络,通过神经张量网络进行特征提取,输出一个相似度向量。并且,为了进一步考虑局部节点的信息,基于两个Graph结构对应的节点级嵌入向量,进行成对节点比较(Pairwise Node Comparison),得到一个相关性矩阵,将该相关性矩阵转化为直方图特征。最后,将神经张量网络输出的相似度向量与成对节点比较得到的直方图特征进行拼接,然后经过几层全连接层(fully connected layers,FC)进行维度压缩,得到最终的图相似度得分。传统的Graph结构相似度计算方法,需要依次计算与大图同构的子图的相似性,复杂度较高,需要花费较多的时间,而使用SimGNN来计算两个Graph结构之间的相似度,相对于使用传统的Graph结构相似度计算方法,计算更为高效快速。
在另一些实施例中,还可以基于待测试终端系统界面上目标对象的信息,计算出待测试终端系统界面上的目标对象之间的相对距离。其中,计算第一Graph结构与第二Graph结构的相似度,包括:获取第一输入数据,第一输入数据包括第一Graph结构及第一Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离;获取第二输入数据,第二输入数据包括第二Graph结构及第二Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离;根据第一输入数据和第二输入数据,计算第一Graph结构与第二Graph结构的相似度。
在一些实施例中,上述输入数据(如第一输入数据或第二输入数据)可以用一个对应的邻接矩阵M2来保存。对于含有n个顶点的Graph结构,其对应的邻接矩阵M2是一个n阶方阵,即一个n×n的矩阵。邻接矩阵M2的元素可以表示相应Graph结构的相应顶点之间是否有有向边相连,以及相应顶点对应的目标对象之间的相对距离。设邻接矩阵M2第i行第j列的元素为M2[i,j]。若M2[i,j]对应的Graph结构的顶点vi和vj之间有有向边相连,即有vi到vj的有向边,且顶点vi和vj对应的目标对象之间的相对距离为dij,则M[i,j]=dij;若M2[i,j]对应的Graph结构的顶点vi和vj之间没有有向边相连,即没有vi到vj的有向边,则可以令M2[i,j]=∞,或者可以令M2[i,j]=Null,即该元素为空。
其中,Graph结构的顶点vi和vj对应的目标对象之间的相对距离可以通过以下方式获取:设顶点vi和vj对应的目标对象分别为Targeti和Targetj,Targeti和Targetj所对应的目标检测框分别为BBi和BBj。根据BBi和BBj的四个顶点在待测试终端系统界面上的二维坐标,计算出BBi和BBj的中心点Pi和Pj在该待测试终端系统界面上的二维坐标。由此,可以根据Pi和Pj在待测试终端系统界面上的二维坐标,得到Pi和Pj之间的相对距离。将Pi和Pj之间的相对距离作为Targeti和Targetj之间的相对距离dij。
S606.电子设备500根据第一Graph结构与第二Graph结构的相似度,判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
若通过本步骤计算得到的第一Graph结构与第二Graph结构的相似度大于或等于预设相似度阈值,则说明第一Graph结构与第二Graph结构之间的相似性较高,可以认为待测试终端系统界面布局与模板终端系统界面布局一致,待测试终端系统界面未出现错误;若相似度小于预设相似度阈值,则说明两个Graph结构之间存在较大差异,则可以认为待测试终端系统界面布局与模板终端系统界面布局不一致,即待测试终端系统界面出现了错误,可以记录保存该组数据,方便后续定位该待测试终端系统界面上的错误位置。
在一些实施例中,上述步骤S604中,第一Graph结构是针对步骤S602检测到的待测试终端系统界面的所有目标对象,包括所有图标和/或所有文本,构建的一个总的Graph结构。设待测试终端系统界面上的目标对象总数为N1,则该总的Graph结构上的顶点个数为N1。
应理解,相应的第二Graph结构是针对模板终端系统界面的所有目标对象,包括所有图标和/或所有文本,构建的一个总的Graph结构。设模板终端系统界面上的目标对象总数为N2,则该总的Graph结构上的顶点个数为N2。
相应地,上述步骤S605中,计算第一Graph结构与第二Graph结构的相似度,是计算上述两个总的Graph结构的相似度。
相应地,上述步骤S606中,根据第一Graph结构与第二Graph结构的相似度,判定待测试终端系统界面布局与模板终端系统界面布局的一致性,即基于上述两个总的Graph结构的相似度,判定待测试终端系统界面布局与模板终端系统界面布局的一致性。具体地,若相似度大于或等于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局一致。若相似度小于预设相似度阈值,则判定待测试终端系统界面布局与模板终端系统界面布局不一致。
在另一些实施例中,上述步骤S602中,检测到的待测试终端系统界面上的目标对象包括图标和文本,目标对象的信息包括目标对象的类型信息和目标对象在待测试终端系统界面上的位置信息。目标对象的类型信息用于指示目标对象为图标或者文本。
相应地,上述步骤S603中,基于待测试终端系统界面上的目标对象的类型信息和目标对象在待测试终端系统界面上的位置信息,分别计算出待测试终端系统界面上的各个图标之间的相对位置关系以及各个文本之间的相对位置关系。
相应地,上述步骤S604中,第一Graph结构包括第三Graph结构和第四Graph结构。
示例性地,设待测试终端系统界面上图标和文本的个数分别为N11和N12。
基于步骤S602检测到的待测试终端系统界面的各个图标之间的相对位置关系,构建第三Graph结构。该第三Graph结构中的顶点个数为N11。该第三Graph结构中的每个顶点对应待测试终端系统界面上的一个图标,该第三Graph结构中顶点之间相连的边可以表征顶点对应的图标之间的相对位置关系。
基于步骤S2检测到的待测试终端系统界面的各个文本之间的相对位置关系,构建第四Graph结构。该第四Graph结构中的顶点个数为N12。该第四Graph结构中的每个顶点对应待测试终端系统界面上的一个文本,该第四Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系。
相应地,第二Graph结构包括第五Graph结构和第六Graph结构。该第五Graph结构是所述模板终端系统界面中图标对应的Graph结构,该第六Graph结构是所述模板终端系统界面中文本对应的Graph结构。
示例性地,设模板终端系统界面上图标和文本的个数分别为N21和N22。
基于模板终端系统界面上所有的图标的信息,计算出模板终端系统界面上的各个图标之间的相对位置关系。根据待测试终端系统界面上的各个图标之间的相对位置关系,构建第五Graph结构。该第五Graph结构中的顶点个数为N21。该第五Graph结构中的每个顶点对应模板终端系统界面上的一个图标,该第五Graph结构中顶点之间相连的边用于表征顶点对应的图标之间的相对位置关系。
基于模板终端系统界面上所有的文本的信息,计算出模板终端系统界面上的各个文本之间的相对位置关系。根据待测试终端系统界面上的各个文本之间的相对位置关系,构建第六Graph结构。该第六Graph结构中的顶点个数为N22。该第六Graph结构中的每个顶点对应模板终端系统界面上的一个文本,该第六Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系。
以所述终端为手机为例,参见图9A-图9F,图9A-图9F示出了一些针对手机系统界面构建Graph结构的示意图。图9A为针对图2所示的模板手机系统界面构建的一种第五Graph结构示意图,图9B为针对图2所示的模板手机系统界面构建的一种第六Graph结构示意图,图9C为针对图3A所示手机系统界面构建的一种第四Graph结构示意图,图9D为针对图3B所示手机系统界面构建的一种第三Graph结构示意图,图9E为针对图3C所示手机系统界面构建的一种第三Graph结构示意图。图9F为针对图3D所示手机系统界面构建的一种第三Graph结构示意图,图9G为针对图3D所示手机系统界面构建的一种第四Graph结构示意图。需要说明的是,图9A-图9G仅用于简单示意本申请实施例中各种Graph结构的内容,实际的Graph结构可能包括比图示更多或更少顶点和/或边,图9A-图9G示意的Graph结构并不构成对实际的Graph结构的具体限定。
相应地,上述步骤S605中,计算第一Graph结构与第二Graph结构的相似度,包括:计算第三Graph结构与第五Graph结构的相似度S1;计算第四Graph结构与第六Graph结构的相似度S2。
相应地,上述步骤S606中,根据计算得到的相似度判定待测试终端系统界面布局与模板终端系统界面布局的一致性,包括:基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性。
在一些实施例中,基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性,方法为:若第三Graph结构与第五Graph结构的相似度S1大于或等于预设相似度阈值T,且第四Graph结构与第六Graph结构的相似度S2大于或等于预设相似度阈值T,则说明第一Graph结构与第二Graph结构之间的相似性较高,可以认定待测试终端系统界面布局与模板终端系统界面布局一致。反之,若第三Graph结构与第五Graph结构的相似度S1和第四Graph结构与第六Graph结构的相似度S2中有一个小于预设相似度阈值T,则认定待测试终端系统界面布局与模板终端系统界面布局不一致。该比对逻辑如表1所示。
表1比对逻辑
通过本实施例提供的方案,只有在第三Graph结构与第五Graph结构的相似度S1,以及第四Graph结构与第六Graph结构的相似度S2都大于或等于预设相似度阈值T的情况下,才会认定待测试终端系统界面布局与模板终端系统界面布局一致,从而可以实现对待测试终端系统界面布局进行更严格的测试。
在另一些实施例中,基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性,方法为:对第三Graph结构与所述第五Graph结构的相似度S1设置权值W1,以及对第四Graph结构与所述第六Graph结构的相似度S2设置权值W2,经过加权计算得到最终的相似度值S,S=S1W1+S2W2。基于最终的相似度值S得到待测试终端系统界面与模板终端系统界面的比对结果。例如,若最终的相似度值S大于或等于预设相似度阈值T,则认为待测试终端系统界面布局与模板终端系统界面布局一致;若最终的相似度值S小于预设相似度阈值T,则认为待测试终端系统界面布局与模板终端系统界面布局不一致。
通过本实施例提供的方案,可以基于对终端系统界面布局上类型为图标的目标对象和类型为文本的目标对象的布局一致性要求,对于对第三Graph结构与所述第五Graph结构的相似度S1、第四Graph结构与所述第六Graph结构的相似度S2设置不同/相同的权值。例如,若对终端系统界面布局上类型为图标的目标对象的布局一致性要求更高,则可以设置给S1设置更大的权值,而给S2设置相对较小的权值,即设置W1>W2。这样,可以根据测试需求对针对不同类型的目标对象构建的Graph结构赋予不同的权值,从而可以灵活调整比对参数以使比对方法和结果符合测试需求。
在另一些实施例中,基于相似度S1和相似度S2,判定待测试终端系统界面布局与模板终端系统界面布局的一致性,方法为:对第三Graph结构与所述第五Graph结构的相似度S1设置第一预设相似度阈值T1,对第四Graph结构与所述第六Graph结构的相似度S2设置第二预设相似度阈值T2。若第三Graph结构与第五Graph结构的相似度S1大于或等于第一预设相似度阈值T1,且第四Graph结构与第六Graph结构的相似度S2大于或等于第二预设相似度阈值T2,则认定待测试终端系统界面布局与模板终端系统界面布局一致。反之,若第三Graph结构与第五Graph结构的相似度S1和第四Graph结构与第六Graph结构的相似度S2中有一个小于相应阈值,则认定待测试终端系统界面布局与模板终端系统界面布局不一致。
通过本实施例提供的方案,可以基于对终端系统界面布局上类型为图标的目标对象和类型为文本的目标对象的布局一致性要求,对于对第三Graph结构与所述第五Graph结构的相似度S1、第四Graph结构与所述第六Graph结构的相似度S2设置不同/相同的预设相似度阈值。例如,若对终端系统界面布局上类型为图标的目标对象的布局一致性要求更高,则可以设置给S1设置更大的预设相似度阈值,而给S2设置相对较小的预设相似度阈值,即设置T1>T2。这样,可以根据测试需求对针对不同类型的目标对象构建的Graph结构赋予不同的预设相似度阈值,从而可以灵活调整比对参数和比对方法以符合测试需求。
在一些实施例中,参见图10,图10示出了一种待测试终端系统界面与模板终端系统界面对比流程图。如图10所示,在步骤S603基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系之前,还包括:比较待测试终端系统界面与模板终端系统界面上的目标对象总数。设待测试终端系统界面上的目标对象总数为N1,模板终端系统界面上的目标对象总数为N2。若待测试终端系统界面与模板终端系统界面上的目标对象总数不相同,即N1≠N2,则认定待测试终端系统界面布局与模板终端系统界面布局不一致;若待测试终端系统界面与模板终端系统界面上的目标对象总数相同,即N1=N2,则进一步比较待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比。设待测试终端系统界面上图标和文本的个数分别为N11和N12,模板终端系统界面上图标和文本的个数分别为N21和N22,若N11/N1≠N21/N2,N12/N1≠N22/N2,即测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比不相同,则认定待测试终端系统界面布局与模板终端系统界面布局不一致;若N11/N1=N21/N2,N12/N1=N22/N2,则执行步骤S603基于待测试终端系统界面上所有的目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系,并进一步执行上述S604-S606判断待测试终端系统界面布局与模板终端系统界面布局是否一致。
通过本实施例提供的方案,只有在待测试终端系统界面上的目标对象总数与模板终端系统界面上的目标对象总数相同,待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比相同,且待测试终端系统界面对应的Graph结构与模板终端系统界面对应Graph结构之间相似度大于或等于预设相似度阈值的情况下,才会认定待测试终端系统界面布局与模板终端系统界面布局一致,从而可以实现对待测试终端系统界面布局进行更严格的测试。并且,采用本实施例提供的方案,先对待测试终端系统界面上的目标对象总数与模板终端系统界面上的目标对象总数进行比对,以及待测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比进行比对,若待测试终端系统界面与模板终端系统界面上的目标对象总数或同种类型的目标对象的占比不一致,即可以认定待测试终端系统界面布局与模板终端系统界面布局不一致,这样,可以不用进行Graph结构构建及图相似度比对,就可以快速得到测试结果,提高了测试效率。
基于本申请上述实施例提供的技术方案,不需要使用控件方法,能够利用基于如深度学习算法的目标对象检测方法获取终端系统界面元素,充分挖掘终端系统界面中存在的拓扑不变性信息。使用鲁棒性更强的Graph结构对终端系统界面内容进行建模,并基于Graph结构进行对比,可以解决不同型号终端分辨率差异的问题,实现跨终端型号的系统界面布局对比的自动化,能有效提升跨终端型号的一致性测试效率。且不需要写脚本,可以降低测试人员入门门槛。
本申请另一些实施例提供了一种电子设备,该电子设备具有实现上述方法实施例中所述方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
示例性地,本本申请实施例提供一种电子设备,该电子设备包括:
数据获取模块,用于获取待测试终端系统界面,即用于实现上述方法实施例中的步骤S601的功能。
目标对象检测模块,用于对待测试终端系统界面进行目标检测,得到待测试终端系统界面上所有的目标对象的信息,即用于实现上述方法实施例中的步骤S602的功能。
相对位置关系检测模块,用于基于待测试终端系统界面上的各个目标对象的信息,计算出待测试终端系统界面上的各个目标对象之间的相对位置关系,即用于实现上述方法实施例中的步骤S603的功能。
Graph结构构建模块,用于根据待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一Graph结构。该第一Graph结构中的每个顶点对应待测试终端系统界面上的一个目标对象。第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系。即用于实现上述方法实施例中的步骤S604的功能。
相似度计算模块,用于计算第一Graph结构与第二Graph结构的相似度。其中,第二Graph结构是模板终端系统界面对应的Graph结构。即用于实现上述方法实施例中的步骤S605的功能。
比较模块,根据第一Graph结构与第二Graph结构的相似度,判定待测试终端系统界面布局与模板终端系统界面布局的一致性。即用于实现上述方法实施例中的步骤S606的功能。
本申请另一些实施例提供了一种电子设备,该电子设备可以包括:存储器和一个或多个处理器。
上述存储器与处理器耦合。上述存储器中存储有计算机程序代码,该计算机程序代码包括计算机指令。当上述计算机指令被处理器执行时,使得电子设备执行如上述方法实施例中各个步骤,实现相应的各个功能。该电子设备的结构可以参考图5所示的电子设备500的结构。
本申请实施例还提供一种芯片系统,如图11所示,该芯片系统1100包括至少一个处理器1101和至少一个接口电路1102。该芯片系统用于支持电子设备实现上述方法实施例中所涉及的功能。
上述处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1102可用于向其它装置(例如处理器1101)发送信号。示例性的,接口电路1102可读取存储器中存储的指令,并将该指令发送给处理器1101。当所述指令被处理器1101执行时,可使得电子设备执行上述方法实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在计算机上运行时,使得该计算机执行上述方法实施例中的各个步骤,实现相应的各个功能。例如,该计算机可以是上述电子设备500。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中的各个步骤,实现相应的各个功能。例如,该计算机可以是上述电子设备500。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种终端系统界面布局对比方法,其特征在于,包括:
获取待测试终端系统界面;
对所述待测试终端系统界面进行目标检测,得到所述待测试终端系统界面上所有的目标对象的信息;其中,所述目标对象包括图标和/或文本,所述目标对象的信息包括所述目标对象在所述待测试终端系统界面上的位置信息;
基于所述待测试终端系统界面上所有的目标对象的信息,计算出所述待测试终端系统界面上的各个目标对象之间的相对位置关系;
根据所述待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一图Graph结构;其中,第一Graph结构中的每个顶点对应所述待测试终端系统界面上的一个目标对象,所述第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系;
计算所述第一Graph结构与第二Graph结构的相似度;其中,所述第二Graph结构是模板终端系统界面对应的Graph结构;
根据计算得到的所述相似度判定所述待测试终端系统界面布局与所述模板终端系统界面布局的一致性。
2.根据权利要求1所述的方法,其特征在于,所述待测试终端系统界面上的各个目标对象之间的相对位置关系包括一个目标对象位于另一个目标对象的以下任一方位:正上方、正下方、正左方、正右方、左上方、右上方、左下方和右下方。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一图Graph结构,包括:
针对每个目标对象,分别执行以下步骤以构建所述第一Graph结构:
根据所述待测试终端系统界面上的各个目标对象之间的相对位置关系,在多个预设方向中的每个预设方向上搜索距离第一目标对象最近的第二目标对象;
若搜到所述第二目标对象,则构建所述第一目标对象对应顶点到所述第二目标对象对应顶点的有向边;
其中,所述第一目标对象是所述待测试终端系统界面中的任一个目标对象;
所述第一Graph结构中顶点之间相连的边用于表征顶点对应的目标对象之间的相对位置关系,包括:所述第一Graph结构中一个顶点到另一个顶点的有向边,用于表征所述一个顶点与所述另一个顶点对应的目标对象之间的相对位置关系。
4.根据权利要求3所述的方法,其特征在于,所述多个预设方向包括:右上方、正右方、右下方和正下方;
或者,所述多个预设方向包括:正右方、右下方、正下方和左下方;
或者,所述多个预设方向包括:右下方、正下方、左下方和正左方;
或者,所述多个预设方向包括:正下方、左下方、正左方和左上方;
或者,所述多个预设方向包括:左下方、正左方、左上方和正上方;
或者,所述多个预设方向包括:正左方、左上方、正上方和右上方;
或者,所述多个预设方向包括:左上方、正上方、右上方和正右方;
或者,所述多个预设方向包括:正上方、右上方、正右方和右下方。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述计算所述第一Graph结构与第二Graph结构的相似度,包括:
将所述第一Graph结构与所述第二Graph结构作为输入,运行预设的基于神经网络的图相似度计算模型,得到所述第一Graph结构与第二Graph结构的相似度;
其中,所述预设的基于神经网络的图相似度计算模型具有对输入的一组Graph结构进行相似度计算,得到所述输入的一组Graph结构的相似度的功能。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
基于所述待测试终端系统界面上所有的目标对象的信息,计算出所述待测试终端系统界面上的各个目标对象之间的相对距离;
其中,所述计算所述第一Graph结构与第二Graph结构的相似度,包括:
获取第一输入数据,所述第一输入数据包括所述第一Graph结构及所述第一Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离;
获取第二输入数据,所述第二输入数据包括所述第二Graph结构及所述第二Graph结构中通过有向边连接的顶点对应的目标对象之间的相对距离;
根据所述第一输入数据和所述第二输入数据,计算所述第一Graph结构与第二Graph结构的相似度。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据计算得到的所述相似度判定所述待测试终端系统界面布局与所述模板终端系统界面布局的一致性,包括:
若所述相似度大于或等于预设相似度阈值,则判定所述待测试终端系统界面布局与所述模板终端系统界面布局一致;
若所述相似度小于预设相似度阈值,则判定所述待测试终端系统界面布局与所述模板终端系统界面布局不一致。
8.根据权利要求1所述的方法,其特征在于,所述目标对象包括图标和文本;所述目标对象的信息还包括所述目标对象的类型信息;所述目标对象的类型信息用于指示所述目标对象为图标或者文本;
所述基于所述待测试终端系统界面上所有的目标对象的信息,计算出所述待测试终端系统界面上的各个目标对象之间的相对位置关系,包括:
基于所述待测试终端系统界面上的目标对象的类型信息和所述目标对象在所述待测试终端系统界面上的位置信息,分别计算出所述待测试终端系统界面上的各个图标之间的相对位置关系以及各个文本之间的相对位置关系;
其中,所述第一Graph结构包括第三Graph结构和第四Graph结构;
所述根据所述待测试终端系统界面上的各个目标对象之间的相对位置关系,构建第一图Graph结构,包括:
基于所述待测试终端系统界面上的各个图标之间的相对位置关系,构建所述第三Graph结构;其中,所述第三Graph结构中的每个顶点对应所述待测试终端系统界面上的一个图标,所述第三Graph结构中顶点之间相连的边用于表征顶点对应的图标之间的相对位置关系;
基于所述待测试终端系统界面上的各个文本之间的相对位置关系,构建所述第四Graph结构;其中,所述第四Graph结构中的每个顶点对应所述待测试终端系统界面上的一个文本,所述第四Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系;
其中,所述第二Graph结构包括第五Graph结构和第六Graph结构;所述第五Graph结构是所述模板终端系统界面中图标对应的Graph结构,所述第六Graph结构是所述模板终端系统界面中文本对应的Graph结构。
9.根据权利要求8所述的方法,其特征在于,在所述计算所述第一Graph结构与第二Graph结构的相似度之前,所述方法还包括:
对所述模板终端系统界面进行目标检测,得到所述模板终端系统界面上所有的目标对象的信息;其中,所述目标对象包括图标或文本,所述目标对象的信息包括所述目标对象在所述模板终端系统界面上的位置信息;
基于所述模板终端系统界面上所有的图标的信息,计算出所述模板终端系统界面上的各个图标之间的相对位置关系;根据所述待测试终端系统界面上的各个图标之间的相对位置关系,构建所述第五Graph结构;其中,所述第五Graph结构中的每个顶点对应所述模板终端系统界面上的一个图标,所述第五Graph结构中顶点之间相连的边用于表征顶点对应的图标之间的相对位置关系;
基于所述模板终端系统界面上所有的文本的信息,计算出所述模板终端系统界面上的各个文本之间的相对位置关系;根据所述待测试终端系统界面上的各个文本之间的相对位置关系,构建所述第六Graph结构;其中,所述第六Graph结构中的每个顶点对应所述模板终端系统界面上的一个文本,所述第六Graph结构中顶点之间相连的边用于表征顶点对应的文本之间的相对位置关系。
10.根据权利要求8或9所述的方法,其特征在于,所述计算所述第一Graph结构与第二Graph结构的相似度,包括:
计算所述第三Graph结构与第五Graph结构的相似度S1;
计算所述第四Graph结构与第六Graph结构的相似度S2;
所述根据计算得到的所述相似度判定所述待测试终端系统界面布局与所述模板终端系统界面布局的一致性,包括:
基于所述相似度S1和所述相似度S2,判定所述待测试终端系统界面布局与所述模板终端系统界面布局的一致性。
11.根据权利要求10所述的方法,其特征在于,所述基于所述相似度S1和所述相似度S2,判定所述待测试终端系统界面布局与所述模板终端系统界面布局的一致性,包括:
若所述相似度S1大于或等于预设相似度阈值,且所述相似度S2大于或等于预设相似度阈值,则判定所述待测试终端系统界面布局与所述模板终端系统界面布局一致;
若所述相似度S1小于预设相似度阈值,或所述相似度S2小于预设相似度阈值,则判定所述待测试终端系统界面布局与所述模板终端系统界面布局不一致。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述获取待测试终端系统界面,包括:
接收来自所述待测试终端的所述待测试终端系统界面,所述待测试终端系统界面是所述待测试终端截屏得到的;或者,
接收来自所述待测试终端的录屏视频,从所述录屏视频中提取图像帧,将所述图像帧作为所述待测试终端系统界面。
13.根据权利要求1-12中任一项的方法,其特征在于,所述对所述待测试终端系统界面进行目标检测,得到所述待测试终端系统界面上所有的目标对象的信息,包括:
将所述待测试终端系统界面作为输入,运行预设的目标检测模型,输出所述待测试终端系统界面上所有的目标对象的信息;
其中,所述预设的目标检测模型具有对输入的终端系统界面进行目标检测,得到所述输入的终端系统界面上的目标对应的信息的功能。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
构建训练集;所述训练集包括多组训练样本数据对,每组训练样本数据对包括一张训练样本图像和所述训练样本图像对应的标注信息;所述训练样本图像为终端系统界面;所述训练样本图像对应的标注信息为所述终端系统界面上的目标对象的信息;
将所述训练样本数据对中的训练样本图像作为输入样本,所述训练样本图像对应的标注信息作为输出样本,训练目标检测模型。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
构建验证集;所述验证集包括多组验证样本数据对,每组验证样本数据对包括一张验证样本图像和所述验证样本图像对应的标注信息;所述验证样本图像为终端系统界面;所述验证样本图像对应的标注信息为所述终端系统界面上的目标对象的信息;
在使用至少一组所述训练样本数据对训练所述目标检测模型后,将所述验证集中的验证样本图像作为所述目标检测模型的输入,运行所述目标检测模型,输出对应的检测结果;
比较所述验证集中所述验证样本图像对应的标注信息与所述检测结果,确定所述目标检测模型的准确率;
当所述准确率小于预设阈值t时,重新调整所述目标检测模型的参数,并使用训练集重新训练所述目标检测模型;
当所述准确率大于或等于预设阈值t时,保存所述目标检测模型,作为所述预设的目标检测模型。
16.根据权利要求1-15中任一项所述的方法,其特征在于,在所述基于所述待测试终端系统界面上所有的目标对象的信息,计算出所述待测试终端系统界面上的各个目标对象之间的相对位置关系之前,所述方法还包括:
若所述待测试终端系统界面上的目标对象的总数与所述模板终端系统界面上的目标对象的总数相同,且所述待测试终端系统界面与所述模板终端系统界面上同种类型的目标对象的占比相同,则基于所述待测试终端系统界面上所有的目标对象的信息,计算出所述待测试终端系统界面上的各个目标对象之间的相对位置关系。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
若所述待测试终端系统界面上的目标对象的总数与所述模板终端系统界面上的目标对象的总数不同,则认定所述待测试终端系统界面布局与所述模板终端系统界面布局不一致;或者,
若所述测试终端系统界面与模板终端系统界面上同种类型的目标对象的占比不同,则认定所述待测试终端系统界面布局与所述模板终端系统界面布局不一致。
18.一种电子设备,其特征在于,所述电子设备包括存储器和一个或多个处理器;所述存储器所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-17中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210924021.7A CN116048682A (zh) | 2022-08-02 | 2022-08-02 | 一种终端系统界面布局对比方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210924021.7A CN116048682A (zh) | 2022-08-02 | 2022-08-02 | 一种终端系统界面布局对比方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048682A true CN116048682A (zh) | 2023-05-02 |
Family
ID=86126003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210924021.7A Pending CN116048682A (zh) | 2022-08-02 | 2022-08-02 | 一种终端系统界面布局对比方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048682A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349189A (zh) * | 2023-12-05 | 2024-01-05 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175609A (zh) * | 2019-04-22 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 界面元素检测方法、装置及设备 |
CN110766081A (zh) * | 2019-10-24 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种界面图像检测的方法、模型训练的方法以及相关装置 |
CN113168339A (zh) * | 2018-10-02 | 2021-07-23 | 丰讯奈公司 | 软件测试 |
US20210397942A1 (en) * | 2020-06-17 | 2021-12-23 | Adobe Inc. | Learning to search user experience designs based on structural similarity |
WO2022022674A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 应用图标布局方法及相关装置 |
US20220206931A1 (en) * | 2020-12-28 | 2022-06-30 | Apptest.Ai | System and method for user interface autonomous testing |
-
2022
- 2022-08-02 CN CN202210924021.7A patent/CN116048682A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168339A (zh) * | 2018-10-02 | 2021-07-23 | 丰讯奈公司 | 软件测试 |
CN110175609A (zh) * | 2019-04-22 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 界面元素检测方法、装置及设备 |
CN110766081A (zh) * | 2019-10-24 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种界面图像检测的方法、模型训练的方法以及相关装置 |
US20210397942A1 (en) * | 2020-06-17 | 2021-12-23 | Adobe Inc. | Learning to search user experience designs based on structural similarity |
WO2022022674A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 应用图标布局方法及相关装置 |
US20220206931A1 (en) * | 2020-12-28 | 2022-06-30 | Apptest.Ai | System and method for user interface autonomous testing |
Non-Patent Citations (1)
Title |
---|
姬文渊;吕健;刘翔;徐小萍;赵子健;: "基于认知规律的用户界面信息布局设计方法", 计算机工程与设计, no. 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349189A (zh) * | 2023-12-05 | 2024-01-05 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
CN117349189B (zh) * | 2023-12-05 | 2024-03-15 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961009B (zh) | 基于深度学习的行人检测方法、系统、装置及存储介质 | |
CN109086709B (zh) | 特征提取模型训练方法、装置及存储介质 | |
CN112052186B (zh) | 目标检测方法、装置、设备以及存储介质 | |
WO2020010979A1 (zh) | 手部关键点的识别模型训练方法、识别方法及设备 | |
US8879803B2 (en) | Method, apparatus, and computer program product for image clustering | |
US8792722B2 (en) | Hand gesture detection | |
US8750573B2 (en) | Hand gesture detection | |
CN111325726A (zh) | 模型训练方法、图像处理方法、装置、设备及存储介质 | |
CN111476306A (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
CN111914812B (zh) | 图像处理模型训练方法、装置、设备及存储介质 | |
CN111612842B (zh) | 生成位姿估计模型的方法和装置 | |
CN114332530A (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
US20220327358A1 (en) | Feedback adversarial learning | |
CN111950570A (zh) | 目标图像提取方法、神经网络训练方法及装置 | |
CN113569607A (zh) | 动作识别方法、装置、设备以及存储介质 | |
CN114359225A (zh) | 图像检测方法、装置、计算机设备及存储介质 | |
CN110163095B (zh) | 回环检测方法、回环检测装置及终端设备 | |
CN111126358A (zh) | 人脸检测方法、装置、存储介质及设备 | |
CN116048682A (zh) | 一种终端系统界面布局对比方法及电子设备 | |
CN111382791B (zh) | 深度学习任务处理方法、图像识别任务处理方法和装置 | |
WO2023061195A1 (zh) | 图像获取模型的训练方法、图像检测方法、装置及设备 | |
CN113269730B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN113139540B (zh) | 背板检测方法及设备 | |
CN111818364B (zh) | 视频融合方法、系统、设备及介质 | |
CN114677350A (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 |