CN112965911B - 界面异常检测方法、装置、计算机设备及存储介质 - Google Patents
界面异常检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112965911B CN112965911B CN202110309207.7A CN202110309207A CN112965911B CN 112965911 B CN112965911 B CN 112965911B CN 202110309207 A CN202110309207 A CN 202110309207A CN 112965911 B CN112965911 B CN 112965911B
- Authority
- CN
- China
- Prior art keywords
- application interface
- control
- application
- page
- abnormal
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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
技术领域
本申请涉及计算机技术领域,特别涉及一种界面异常检测方法、装置、计算机设备及存储介质。
背景技术
在APP(Application,应用程序)开发过程中,需要对APP进行UI(User Interface,用户界面)测试,校验在不同机型上页面展示的兼容性,以保证UI的正常显示。
在相关技术中,可以采用自动校验方式代替人工校验方式,以实现对页面展示的兼容性进行校验。当采用自动校验方式对页面展示的内容进行校验时,可以同时获取不同机型上展示的同一页面,并根据该不同机型上展示的同一页面,判断各个机型中的界面展示兼容性问题。
然而,在上述相关技术中,通过多个机型上展示同一页面实现检测界面显示异常,通过多张界面显示图进行横向对比,检测准确性较低。
发明内容
本申请关于一种界面异常检测方法、装置、计算机设备及存储介质,可以提高界面异常检测的准确性。该技术方案如下:
一方面,提供了一种界面异常检测方法,所述方法包括:
获取第一应用界面图;
根据所述第一应用界面图,通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果;所述控件检测结果用于指示所述第一应用界面图中的异常控件,以及与所述异常控件对应的控件异常类型;所述控件异常检测模型是以样本应用界面图为样本,以所述样本应用界面图对应的控件异常信息为标注进行训练获得的机器学习模型;
根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果;所述页面检测结果用于指示所述第一应用界面图中的异常区域,以及与所述异常区域对应的页面异常类型;
根据所述第一应用界面图对应的控件检测结果以及所述第一应用界面图对应的页面检测结果,确定所述第一应用界面图的异常显示结果。
另一方面,提供了一种界面异常检测装置,所述装置包括:
应用界面获取模块,用于获取第一应用界面图;
控件检测模块,用于根据所述第一应用界面图,通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果;所述控件检测结果用于指示所述第一应用界面图中的异常控件,以及与所述异常控件对应的控件异常类型;所述控件异常检测模型是以样本应用界面图为样本,以所述样本应用界面图对应的控件异常信息为标注进行训练获得的机器学习模型;
页面检测模块,用于根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果;所述页面检测结果用于指示所述第一应用界面图中的异常区域,以及与所述异常区域对应的页面异常类型;
异常显示确定模块,用于根据所述第一应用界面图对应的控件检测结果以及所述第一应用界面图对应的页面检测结果,确定所述第一应用界面图的异常显示结果。
在一种可能的实现方式中,所述控件异常类型包括文字不居中、文字像素确实、线框像素缺失、文字超范围、文字或图层重叠、页面内容偏移、删除线不居中以及图片或文字变形中的至少一者。
在一种可能的实现方式中,所述页面异常类型包括白屏显示以及大面积纯色区域中的至少一者。
在一种可能的实现方式中,当所述页面异常类型包括白屏显示时,所述页面检测模块,还用于,
当所述第一应用界面图满足第一指定条件时,获取第一页面异常结果;所述第一页面异常结果用于指示所述第一应用界面图存在白屏显示;
根据所述第一页面异常结果,获取所述第一应用界面图对应的页面检测结果;
其中,所述第一指定条件包括以下条件中的至少一者:
所述第一应用界面图中的文字面积低于第一阈值;
所述第一应用界面图中的白色像素面积高于第二阈值。
在一种可能的实现方式中,当所述页面异常类型包括大面积纯色区域时,所述页面检测模块,还用于,
获取所述第一应用界面图中各个像素点的色彩信息;
当所述第一应用界面图中存在面积大于第三阈值,且色彩相同的像素点区域,获取第二页面异常结果;所述第二页面异常结果用于指示所述第一应用界面图存在大面积纯色区域;
根据所述第二页面异常结果,获取所述第一应用界面图对应的页面检测结果。
在一种可能的实现方式中,所述控件检测模块,还用于,
对所述第一应用界面图进行实例分割,获得所述第一应用界面图中的各个应用控件子图;所述应用控件子图用于指示所述第一应用界面图中的各个应用控件;
通过至少一种控件异常检测模型,分别对所述第一应用界面图中的各个应用控件子图进行处理,获得所述第一应用界面图对应的控件检测结果。
在一种可能的实现方式中,所述应用界面获取模块,还用于,
获取第一页面地址;
根据所述第一页面地址,进入所述第一页面地址对应的第一应用界面;
对所述第一应用界面进行截图处理,获得所述第一应用界面图。
在一种可能的实现方式中,所述第一应用界面图对应的控件检测结果包括所述第一应用界面图中的各个应用控件子图的第一异常信息;所述各个应用控件子图的第一异常信息用于指示所述各个应用控件子图与所述第一控件异常检测模型的异常类型的对应关系;
所述装置还包括:
样本界面图获取模块,用于获取所述样本应用界面图以及所述样本应用界面图对应的控件异常信息;所述控件异常信息用于指示所述样本应用界面图对应的样本异常控件,以及所述样本异常控件对应的异常类型;
控件子图获取模块,用于对所述样本应用界面图进行实例分割,获得所述样本应用界面图中的各个样本应用控件子图;所述样本应用控件子图用于指示所述样本应用界面图中的各个控件;
第一异常获取模块,用于根据第一控件异常检测模型,对所述样本应用界面图中的各个样本应用控件子图进行处理,获得所述各个样本应用控件子图的第一异常信息;
第一模型训练模块,用于基于所述样本应用界面图对应的样本异常控件,以及所述各个样本应用控件子图的第一异常信息,对所述第一控件异常检测模型进行训练;
其中,训练后的所述控件异常检测模型,用于对所述第一应用界面图中的各个应用控件子图进行处理,确定所述各个应用控件子图的第一异常信息。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现本申请实施例中提供的界面异常检测方法。
另一方面,提供了一种计算机可读存储介质,可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本申请实施例中提供的界面异常检测方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的界面异常检测方法。
本申请提供的技术方案带来的有益效果至少包括:
对于要检验的第一应用界面图,通过至少一个控件检测模型对该第一应用界面图的控件进行检测,确定该第一应用界面图的控件是否存在显示问题;再对该第一应用界面图的页面进行判定,确定该第一应用界面图的页面是否存在显示问题,并根据该第一应用界面图的控件检测结果以及页面检测结果,确定该第一应用界面图存在的异常显示问题。上述方案,将该第一应用界面图分为页面部分以及控件部分,并且通过不同的控件检测模型实现对控件的检测,分别考虑了页面以及控件可能存在的显示问题,提高了界面异常检验的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种界面异常检测系统的结构示意图;
图2示出了本申请一示例性实施例示出的界面异常检测方法的流程图;
图3示出了本申请一示例性实施例示出的界面异常检测方法的流程图;
图4示出了本申请实施例涉及的一种应用界面图分割示意图;
图5示出了本申请实施例涉及的一种异常结论展示示意图;
图6示出了本申请一示例性实施例示出的界面异常检测方法的流程图;
图7是根据本申请一示例性实施例示出的界面异常检测装置的方框图;
图8是根据一示例性实施例示出的计算机设备的结构框图;
图9是根据一示例性实施例示出的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单的介绍:
1)人工智能(AI,Artificial Intelligence)
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
2)机器学习(Machine Learning,ML)
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。它是人工智能核心,是使计算机具有智能的根本途径。
3)控件
控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能,对于移动终端应用来说,应用上展示的所有内容都是由一个个控件所构成的,比如用来点击的按钮,用来阅读的新闻内容等。
图1是根据一示例性实施例示出的一种界面异常检测系统的结构示意图。该系统包括:服务器140以及终端设备120。
其中,终端设备120可以包含多种型号的移动终端设备,其中,该多种型号的移动终端设备中,可以包含多台相同型号的移动终端设备,以便降低由于某一台移动终端设备存在与测试无关的问题而导致的偶然性误差。
在一种可能的实现方式中,该终端设备120中的各个移动终端设备可以连接至云平台,并通过该云平台与服务器140实现通信连接,以便服务器140直接通过云平台实现对该各个终端设备120的控制。
在一种可能的实现方式中,该服务器140可以是一个云计算服务中心,即该服务器140可以直接实现对该各个终端设备120的控制。
其中,服务器140中可以包括UI识别模块,该UI识别模块用于根据开发人员输入的测试信息,生成与该测试信息相应的测试任务,并调用该服务器120中的其他模块执行该测试任务。该服务器140中还可以包括AI运算模块,其中,该AI运算模块中包含有预先训练好的至少一种控件异常检测模型,当该UI识别模型调用该AI运算模块执行异常检测时,该AI运算模块通过预先训练好的至少一种控件异常检测模型实现目标图像的控件异常检测。
可选的,该服务器140可以是服务器,可以是一台服务器,或者包括若干台服务器,或者是若干台服务器组成的分布式计算机集群,或者是一个虚拟化平台,或者是一个云计算服务中心等,本申请不做限制。
终端设备120与服务器140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在移动终端APP的测试过程中,往往需要人工对移动终端APP中的UI界面显示进行测试,或者通过使用自动化的测试工具,通过编写自动化测试脚本来实现对APP中的UI界面的测试,从而减少测试过程中的人员需求,提高测试效率。本申请提供了一种界面异常检测方法,能够提高对界面异常检测的准确性。图2示出了本申请一示例性实施例示出的界面异常检测方法的流程图,该方法可以由计算机设备执行,该计算机设备可以实现为如图1所示的服务器140,如图2所示,该方法包括:
步骤210,获取第一应用界面图。
在一种可能的实现方式中,该第一应用界面图用于指示第一应用在该第一应用界面图对应的终端上的显示情况。即该第一应用界面图可以是当该终端运行该第一应用时,对该终端的屏幕显示图像进行截图操作获得的。
在一种可能的实现方式中,该第一应用界面图中包含应用控件,该应用控件用于根据用户的指定操作,指示该终端执行相应操作。
例如,当该第一应用界面图中包含跳转应用控件,该跳转应用控件用于响应于用户的点击操作,跳转至与该跳转应用控件对应的应用界面;此时当接收到用户的点击操作后,终端根据该跳转应用控件对应的页面地址,跳转并显示该页面地址对应的应用程序界面。
步骤220,根据该第一应用界面图,通过至少一种控件异常检测模型进行处理,获得该第一应用界面图对应的控件检测结果。
其中,该控件检测结果用于指示该第一应用界面图中的异常控件,以及与该异常控件对应的控件异常类型;该控件异常检测模型是以样本应用界面图为样本,以该样本应用界面图对应的控件异常信息为标注进行训练获得的机器学习模型。
在一种可能的实现方式中,该控件检测结果用于指示该第一应用界面图中的各个应用控件的异常情况。
当该第一应用界面图中的各个应用控件均无异常情况时,也即该第一应用界面图中的各个应用控件均正常显示时,该控件检测结果可以用于指示该第一应用界面图控件无异常。
在一种可能的实现方式中,该样本应用界面图对应的控件异常信息可以用于指示该样本应用界面图中的应用控件的异常情况,即该样本应用界面图对应的控件异常信息可以用于指示该样本应用界面图中异常控件的异常类型,也可以指示该样本应用界面图中的各个应用控件无异常。
步骤230,根据该第一应用界面图,获得该第一应用界面图对应的页面检测结果。
其中,该页面检测结果用于指示该第一应用界面图中的异常区域,以及与该异常区域对应的页面异常类型。
在一种可能的实现方式中,当该第一应用界面图中不存在异常区域时,该页面检测结果用于指示该第一应用界面图页面显示无异常。
步骤240,根据该第一应用界面图对应的控件检测结果以及该第一应用界面图对应的页面检测结果,确定该第一应用界面图的异常显示结果。
在一种可能的实现方式中,该第一应用界面图对应的页面检测结果指示该第一应用界面图中页面显示无异常,且该第一应用界面图对应的控件检测结果指示该第一应用界面图中控件显示无异常时,将该第一应用界面图的异常显示结果确定为界面显示无异常。
在一种可能的实现方式中,当该第一应用界面图中的页面检测结果与该第一应用界面图中的控件检测结果中的至少一者指示该第一应用界面图存在异常时,根据该页面检测结果与该控件检测结果中的异常信息,生成该第一应用界面图的异常显示结果。
综上所述,本申请实施例提供的界面异常检测方法,对于要检验的第一应用界面图,通过至少一个控件检测模型对该第一应用界面图的控件进行检测,确定该第一应用界面图的控件是否存在显示问题;再对该第一应用界面图的页面进行判定,确定该第一应用界面图的页面是否存在显示问题,并根据该第一应用界面图的控件检测结果以及页面检测结果,确定该第一应用界面图存在的异常显示问题。上述方案,将该第一应用界面图分为页面部分以及控件部分,并且通过不同的控件检测模型实现对控件的检测,分别考虑了页面以及控件可能存在的显示问题,提高了界面异常检测的准确性。
图3示出了本申请一示例性实施例示出的界面异常检测方法的流程图,该方法可以由服务器与终端设备共同执行,如图3所示,该方法包括:
步骤310,获取第一页面地址。
其中,该第一页面地址用于指示第一终端进入该第一应用界面的路径信息。该第一应用界面是该第一终端需要进行界面异常检测的第一应用程序的某一应用界面。
在一种可能的实现方式中,不同型号的终端,进入该第一应用界面所对应的第一页面地址相同。
在一种可能的实现方式中,获取第一终端的型号信息,根据该第一终端的型号信息,获取该第一终端对应的第一页面地址。
其中,不同型号的终端,进入该第一应用界面所对应的第一页面地址不同。例如,当该终端为移动终端时,当该移动终端包括安卓端与IOS端时,由于终端系统架构的不同,安卓端的移动终端与IOS端的移动终端在进入该第一应用界面时对应的路径信息不同。
步骤320,根据该第一页面地址,进入该第一页面地址对应的第一应用界面。
在人工对UI进行验收时,需要在APP内按照指定路径进入目标页面。页面越多、路径越深,UI验收的耗时会越长。在本申请实施例中,可以采用Deeplink技术,实现在移动客户端快速、自动地触达目标页面,可以有效解决“页面多路径深”导致的效率问题,同时具备较高的稳定性。Deeplink技术,本质上使用了URL的scheme信息,利用移动操作系统提供的scheme解析能力,判断scheme属于哪一个APP,实现终端快速唤起APP并将参数传递给APP,并根据scheme中的路径信息打开目标页面,即深度链接技术可以实现终端跳过App首页等无关页面,直接访问待测页面,提高了终端获取待测页面(即第一应用界面)的效率。
在一种可能的实现方式中,确定该第一页面地址对应的第一应用;基于该第一应用,获取该第一应用对应的应用获取路径;基于该第一应用对应的应用获取路径,获取该第一应用。
即该终端在根据该第一页面地址跳转至该第一应用界面之前,需要先根据第一页面地址确定需要验收的应用程序,并根据该应用程序的获取路径,获取该应用程序,以便该终端加载该应用程序,实现对该应用程序中的第一应用界面的验收。
并且,当该各个终端均通过该应用程序的获取路径获取该第一应用时,即该不同终端获取到的应用程序安装包是相同的,因此可以避免由于终端通过其他路径获取的应用程序所产生的偶然性误差,提高了对第一应用界面检测的准确性。
步骤330,对该第一应用界面进行截图处理,获得该第一应用界面图。
当该终端跳转至该第一应用界面时,可以对该第一应用界面进行截图处理,获得该第一应用界面对应的第一应用界面图。
在一种可能的实现方式中,当该终端跳转至该第一应用界面达到预定时间时,对该第一应用界面进行截图处理,获得该第一应用界面对应的第一应用界面图。
当终端跳转至该第一应用界面时,可能由于终端的性能不同,导致加载速度不同,因此可以基于终端一定的反应时间,让终端实现对该第一应用界面的完全加载,该终端跳转至该第一应用界面达到预定时间时,可以认为该终端具有了足够的时间以实现对该第一应用界面的加载,此时对该第一应用界面进行截图,可以避免由于终端性能不足导致的第一应用界面加载不完全而被截图的情况发送。
在一种可能的实现方式中,当该终端跳转至该第一应用界面后,根据指定频率对该第一应用界面进行截图,当该第一应用界面的连续N帧的截图相同时,将该第一应用界面的连续N帧的截图中的一张确定为该第一应用界面图。
由于不同终端的性能不同,因此不同终端完全加载该第一应用界面的时间不同,因此当设置预定时间较长时,会导致性能较好的终端花费不必要的时间进行等待,第一应用界面图的获取效率较低;而当设置的预定时间较短时,性能较差的终端可能处于正在加载第一应用界面的过程中,此时对该加载不完全的第一应用界面进行截图,可能会导致将UI界面显示正常,但加载较慢的机器误判为UI界面显示不正常。因此可以根据指定频率对该第一应用界面进行截图,当该第一应用界面的连续N帧的截图相同时,说明该终端已经停止对该第一应用界面的加载过程。此时当终端处于加载完成的状态时,该第一应用界面图可以反映出该UI处于正常显示状态;当该终端处于加载出错状态时,该第一应用界面图也可以反映出该UI处于显示错误状态。
在一种可能的实现方式中,当终端跳转至该第一应用界面后,根据指定频率对该第一应用界面进行截图,获得该第一应用界面对应的待测界面图;该第一应用界面图是该第一应用界面对应的待测界面图中的一个。
当该第一应用界面存在动态控件或动态图片等随时间变化的界面区域时,通过该第一应用界面的一张截图无法完整的体现出该第一应用界面是否在显示的全过程中无显示问题,因此可以根据指定频率对该第一应用界面进行截图,获得该第一应用界面对应的待测界面图,并逐个对该第一应用界面对应的待测界面图进行检验。
步骤340,对该第一应用界面图进行实例分割,获得该第一应用界面图中的各个应用控件子图。
其中,该应用控件子图用于指示该第一应用界面图中的各个应用控件。
在一种可能的实现方式中,通过实例分割模型,对该第一应用界面图进行实例分割,获得该第一应用界面图中的各个应用控件子图。
在一种可能的实现方式中,该实例分割模型可以是Blendmask实例分割模型。
其中,该Blendmask实例分割模型可以是以样本应用界面图,以及该样本应用界面图上的各个控件位置为标注训练出的机器学习模型。训练后的Blendmask实例分割模型,可以实现对该第一应用界面图进行分割,获得该第一应用界面图上各个应用控件对应的位置信息(即该第一应用界面图中的各个应用控件子图)。
在一种可能的实现方式中,通过该实例分割模型,对该第一应用界面图进行实例分割,获得该第一应用界面图中的各个应用控件子图,以及该各个应用控件子图对应的控件种类。其中,该控件种类可以包括按钮、线框、图片等。
即通过该实例分割模型,对该第一应用界面图进行实例分割,可以将该第一应用界面图划分为各个应用控件子图,并且确定该各个应用控件子图的类型,以便后续根据该应用控件子图的类型对该应用控件子图进行检验。
如图4所示,其示出了本申请实施例涉及的一种应用界面图分割示意图。如图4所示,在该第一应用界面图401中存在多个应用控件,通过上述步骤,对该第一应用界面图401进行实例分割后,可以获得如图4的402部分中所示的各个应用控件子图。
步骤350,通过至少一种控件异常检测模型,分别对该第一应用界面图中的各个应用控件子图进行处理,获得该第一应用界面图对应的控件检测结果。
在一种可能的实现方式中,该控件异常类型包括文字不居中、文字像素确实、线框像素缺失、文字超范围、文字或图层重叠、页面内容偏移、删除线不居中以及图片或文字变形中的至少一者。
在一种可能的实现方式中,该控件异常检测模型用于对该控件异常类型中的一种异常类型进行检测。
因此,当需要检测该第一应用界面图中存在的不同的控件异常问题时,可以通过不同种类的控件异常检测模型对该第一应用界面图中的各个应用控件子图进行处理,获得该第一应用界面图与不同种类的控件异常检测模型对应的异常结果,并根据该第一应用界面图与不同种类的控件异常检测模型对应的异常结果(即与不同种类的控件异常类型对应的异常结果),确定该第一应用界面图对应的控件检测结果。
在一种可能的实现方式中,根据该第一控件异常检测模型,获取该第一应用界面图中各个应用控件子图中,与该第一控件异常检测模型对应的第一应用子图;根据该第一控件异常检测模型,对该第一应用子图进行处理,获得该第一应用界面图与该第一控件异常检测模型对应的异常结果。
例如,当该第一控件异常检测模型用于检测线框像素缺失时,可以根据该第一控件异常检测模型,在该第一应用界面图中的各个应用控件子图中,筛选出控件类型为线框的应用控件子图,并将该控件类型为线框的应用控件子图确定为第一应用子图。此时该第一控件异常检测模型可以对该第一应用子图进行处理(也就是用于检测线框异常的机器学习模型检测线框类型的应用控件子图),而不需要对除该第一应用子图之外的其他应用控件子图进行处理,提高了模型对于该第一应用子图的检测效率。
在一种可能的实现方式中,该第一应用界面图对应的控件检测结果包括该第一应用界面图中的各个应用控件子图的第一异常信息;该应用控件子图的第一异常信息用于指示该各个应用控件子图与该第一控件异常检测模型的异常类型的对应关系;获取该样本应用界面图以及该样本应用界面图对应的控件异常信息;该控件异常信息用于指示该样本应用界面图对应的样本异常控件,以及该样本异常控件对应的异常类型;对该样本应用界面图进行实例分割,获得该样本应用界面图中的各个样本应用控件子图;该样本应用控件子图用于指示该样本应用界面图中的各个控件;根据第一控件异常检测模型,对该样本应用界面图中的各个样本应用控件子图进行处理,获得该各个样本应用控件子图的第一异常信息;基于该样本应用界面图对应的样本异常控件,以及该各个样本应用控件子图的第一异常信息,对该第一控件异常检测模型进行训练;训练后的该第一控件异常检测模型,用于对该第一应用界面图中的各个应用控件子图进行处理,确定该各个应用控件子图的第一异常信息。
该第一应用界面图对应的控件检测结果中包括该第一应用界面图中的各个应用控件子图对应的第一异常信息,即该控件检测结果中可以指示该各个应用控件子图与该第一控件异常检测模型的异常类型的对应关系。例如,当该第一控件异常检测模型对应的异常类型为文字不居中,该第一异常信息可以指示该第一应用界面图中的各个应用控件子图是否存在文字不居中的异常情况。
因此,对于该第一应用界面图中的各个应用控件子图,通过该第一异常信息都可以确定其是否具有文字不居中的情况。
而对于该第一控件异常检测模型,则可以通过样本应用界面图,以及该样本应用界面图中的各个样本应用子图对应的第一异常信息进行训练。
例如,当使用该样本应用界面图对该第一控件异常检测模型进行训练时,可以先对该样本应用界面图进行实例分割,获得该样本应用界面图的各个样本控件子图;再通过该第一控件异常检测模型,分别对该样本应用界面图的各个样本控件子图进行识别,确定该各个样本控件子图对应的第一预测异常信息;根据该各个样本控件子图对应的第一预测异常信息以及该各个样本控件子图对应的第一异常信息,通过损失函数,对该第一控件异常检测模型中的参数进行反向传播更新。
步骤360,根据该第一应用界面图,获得该第一应用界面图对应的页面检测结果。
该页面检测结果用于指示该第一应用界面图中的异常区域,以及与该异常区域对应的页面异常类型。
在一种可能的实现方式中,该页面异常类型包括白屏显示以及大面积纯色区域中的至少一者。
在一种可能的实现方式中,根据至少一种页面异常检测模型,对该第一应用界面图进行处理,获得该第一应用界面图对应的页面检测结果。
当该页面异常类型包括白屏显示时,该至少一种页面异常检测模型包括白屏异常检测模型;当该页面异常类型包括大面积纯色区域时,该至少一种页面异常检测模型包括纯色异常检测模型;当该页面异常类型包括白屏显示以及大面积纯色区域,该至少一种页面异常检测模型包括该白屏异常检测模型以及该纯色异常检测模型。
在一种可能的实现方式中,获取该样本应用界面图以及该样本应用界面图对应的页面异常信息;该页面异常信息用于指示该样本应用界面图对应的异常类型,以及该异常类型对应的区域;根据该样本应用界面图,以及该样本应用界面图对应的页面异常信息,对该页面异常检测模型进行训练。
其中,该页面异常检测模型的训练过程与上述控件异常检测模型的训练过程类似,此处不再赘述。
在一种可能的实现方式中,当该页面异常类型包括白屏显示时,且该第一应用界面图满足第一指定条件时,获取第一页面异常结果;该第一页面异常结果用于指示该第一应用界面图存在白屏显示;根据该第一页面异常结果,获取该第一应用界面图对应的页面检测结果。其中,该第一指定条件包括以下条件中的至少一者:该第一应用界面图中的文字面积低于第一阈值;该第一应用界面图中的白色像素面积高于第二阈值。
当该第一应用界面图中,文字面积低于第一阈值时,说明该第一应用界面图中文字显示较少,不符合正常UI的设计标准,此时可以认为该第一应用界面整体处于异常显示状态;当该第一应用界面图中,该第一应用界面图中的白色像素面积高于第二阈值时,说明该第一应用界面图中,白色区域过大,此时很可能是出现了白屏显示的异常情况。
在一种可能的实现方式中,当该第一应用界面图中的文字面积低于第一阈值,且该第一应用界面图中的白色像素面积高于第二阈值时,确定该第一应用界面图存在白屏显示。
在一种可能的实现方式中,当该页面异常类型包括大面积纯色区域时,获取该第一应用界面图中各个像素点的色彩信息;当该第一应用界面图中存在面积大于第三阈值,且色彩相同的像素点区域,获取第二页面异常结果;该第二页面异常结果用于指示该第一应用界面图存在大面积纯色区域;根据该第二页面异常结果,获取该第一应用界面图对应的页面检测结果。
即当该第一应用界面图中,面积大于第三阈值的像素范围内的颜色完全相同时,可以认为该第一应用界面图中存在大面积纯色区域,此时获取该第一应用界面图对应的第二页面异常结果,并根据该第二页面异常结果确定该第一应用界面图对应的页面检测结果。
步骤370,根据该第一应用界面图对应的控件检测结果以及该第一应用界面图对应的页面检测结果,确定该第一应用界面图的异常显示结果。
在一种可能的实现方式中,当该第一应用界面图对应的控件检测结果与该第一应用界面图对应的页面检测结果均指示该第一应用界面图不存在异常显示时,将该第一应用界面图的异常显示结果确定为无异常显示。
在一种可能的实现方式中,当该第一应用界面图对应的控件检测结果以及该第一应用界面图中的页面检测结果中的至少一者指示该第一应用界面图存在显示异常时(即该第一应用界面图对应的异常显示结果指示该第一应用界面图存在显示异常时),获取该第一应用界面图中显示异常对应的类型,以及该显示异常对应的区域,并根据该显示异常对应的类型以及该显示异常对应的区域,确定该第一应用界面图的异常显示结果。
在一种可能的实现方式中,根据该显示异常结果,在该第一应用界面图中,该显示异常对应的区域,展示该显示异常对应的类型的文字描述。
例如,当该第一应用界面图对应的异常显示结果,指示该第一应用界面图中存在文字不居中时,确定该文字不居中对应的异常区域,并在该文字不居中对应的异常区域展示“文字不居中”对应的展示文本,以提示开发人员此处存在文字不居中的问题。
图5示出了本申请实施例涉及的一种异常结论展示示意图。如图5所示,在第一应用界面图510中,至少存在异常控件511,当通过本申请实施例所示方案对该第一应用界面图进行异常检测后,可以检测出该异常控件511,并且该异常控件511对应的异常类型为文字不居中,因此可以在图5的520部分中,与该异常控件511部分对应的区域显示该异常控件511对应的异常类型文本“文字不居中”。
在本申请实施例中UI异常可以分为两大类:页面异常和控件异常。
页面异常指页面整体展示出现明显问题,包括白屏和大面积纯色区域。页面异常的智能检测主要是对页面元素像素色值的分析,因此主要采用传统CV算法进行识别。传统CV算法的开发需要我们进行算法的公式定义及阈值设定。可以将白屏问题定义为页面80%以上区域为白色,大面积纯色区域定义为W/4*H/6像素范围内的颜色完全相同。
控件异常主要表现为线框、文字、图片等模块的异常,包括线框内文字不居中、文字像素缺失、线框像素缺失、文字超出线框范围、文字或图层重叠、页面内容偏移、图片或文字变形、删除线不居中。控件异常需要采用机器学习技术进行模型训练并识别异常。
白屏异常识别首先需要进行文字行识别:当文字行面积低于阈值1则存在白屏问题;再进行页面像素判断:当白色面积超过阈值2则存在白屏问题。
大面积纯色区域的判定需要遍历页面内的W/4*H/6面积内是否像素色值相同,若相同,则返回异常及位置。
控件异常的智能识别需要采用机器学习技术实现。该类问题识别依赖的AI视觉模型主要包括线框识别和文字行识别,主要技术为BlendMask实例分割、NLP(NaturalLanguage Processing,自然语言处理)技术、文字行识别,再结合传统CV算法进行距离计算和像素缺失异常检测。其中,BlendMask实例分割算法对UI界面的控件进行实例分割,可以得到按钮、线框、图片等控件的种类和位置信息,是控件异常识别的关键技术。
线框内文字不居中异常识别模型中,文字行与上下线框之间的距离计算会存在细微误差,当线框宽度较小时,容易发生误判。因此,可以根据线框宽度,将线框分为红点型、窄线框、宽线框,针对不同的线框宽度,设置不同的偏移占比阈值,有效提升了模型结果的准确性。
线框像素缺失和文字像素缺失模型准确度较高,但是当页面底部存在底部工具栏遮挡时,会发生误判。因此需要训练工具栏等控件的识别模型,以减少误判。
综上所述,本申请实施例提供的界面异常检测方法,对于要检验的第一应用界面图,通过至少一个控件检测模型对该第一应用界面图的控件进行检测,确定该第一应用界面图的控件是否存在显示问题;再对该第一应用界面图的页面进行判定,确定该第一应用界面图的页面是否存在显示问题,并根据该第一应用界面图的控件检测结果以及页面检测结果,确定该第一应用界面图存在的异常显示问题。上述方案,将该第一应用界面图分为页面部分以及控件部分,并且通过不同的控件检测模型实现对控件的检测,分别考虑了页面以及控件可能存在的显示问题,提高了界面异常检测的准确性。
图6示出了本申请一示例性实施例示出的界面异常检测方法的流程图,以该界面异常检测方法用于检测移动终端的APP为例,如图6所示,服务器获取界面检测信息601,其中该界面检测信息601中包含需要检测界面的URL(Uniform Resource Locator,统一资源定位器),需要检测的手机型号,以及需要检测的APP的安装包。服务器根据该界面检测信息601,通过该服务器对应的云测试平台,获取与该界面检测信息601对应的多个待检测截图602。其中该待检测截图602中包含机型1对应的页面a的截图、机型1对应的页面b的截图、机型2对应的页面a的截图以及机型2对应的页面b的截图。分别将上述各个截图通过服务器中的异常检测模块603进行检测,其中该异常检测模块603中包含文字不居中模型、文字像素确实模型等机器学习模型,以便对该各个截图中的各个控件图像进行检测;该异常检测模块还可以通过如图3所示实施例中的页面检测方法对该各个截图中的大面积纯色区域以及白屏页面进行检测。当通过该异常检测模块603对各个截图进行检测后,获得该各个截图分别对应的界面异常检测结果604。
图7是根据本申请一示例性实施例示出的界面异常检测装置的方框图,该装置可以应用于计算机设备中,该计算机设备可以实现为服务器,如图7所示,该装置包括:
应用界面获取模块701,用于获取第一应用界面图;
控件检测模块702,用于根据所述第一应用界面图,通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果;所述控件检测结果用于指示所述第一应用界面图中的异常控件,以及与所述异常控件对应的控件异常类型;所述控件异常检测模型是以样本应用界面图为样本,以所述样本应用界面图对应的控件异常信息为标注进行训练获得的机器学习模型;
页面检测模块703,用于根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果;所述页面检测结果用于指示所述第一应用界面图中的异常区域,以及与所述异常区域对应的页面异常类型;
异常显示确定模块704,用于根据所述第一应用界面图对应的控件检测结果以及所述第一应用界面图对应的页面检测结果,确定所述第一应用界面图的异常显示结果。
在一种可能的实现方式中,所述控件异常类型包括文字不居中、文字像素确实、线框像素缺失、文字超范围、文字或图层重叠、页面内容偏移、删除线不居中以及图片或文字变形中的至少一者。
在一种可能的实现方式中,所述页面异常类型包括白屏显示以及大面积纯色区域中的至少一者。
在一种可能的实现方式中,当所述页面异常类型包括白屏显示时,所述页面检测模块703,还用于,
当所述第一应用界面图满足第一指定条件时,获取第一页面异常结果;所述第一页面异常结果用于指示所述第一应用界面图存在白屏显示;
根据所述第一页面异常结果,获取所述第一应用界面图对应的页面检测结果;
其中,所述第一指定条件包括以下条件中的至少一者:
所述第一应用界面图中的文字面积低于第一阈值;
所述第一应用界面图中的白色像素面积高于第二阈值。
在一种可能的实现方式中,当所述页面异常类型包括大面积纯色区域时,所述页面检测模块703,还用于,
获取所述第一应用界面图中各个像素点的色彩信息;
当所述第一应用界面图中存在面积大于第三阈值,且色彩相同的像素点区域,获取第二页面异常结果;所述第二页面异常结果用于指示所述第一应用界面图存在大面积纯色区域;
根据所述第二页面异常结果,获取所述第一应用界面图对应的页面检测结果。
在一种可能的实现方式中,所述控件检测模块702,还用于,
对所述第一应用界面图进行实例分割,获得所述第一应用界面图中的各个应用控件子图;所述应用控件子图用于指示所述第一应用界面图中的各个应用控件;
通过至少一种控件异常检测模型,分别对所述第一应用界面图中的各个应用控件子图进行处理,获得所述第一应用界面图对应的控件检测结果。
在一种可能的实现方式中,所述应用界面获取模块701,还用于,
获取第一页面地址;
根据所述第一页面地址,进入所述第一页面地址对应的第一应用界面;
对所述第一应用界面进行截图处理,获得所述第一应用界面图。
在一种可能的实现方式中,所述第一应用界面图对应的控件检测结果包括所述第一应用界面图中的各个应用控件子图的第一异常信息;所述各个应用控件子图的第一异常信息用于指示所述各个应用控件子图与所述第一控件异常检测模型的异常类型的对应关系;
所述装置还包括:
样本界面图获取模块,用于获取所述样本应用界面图以及所述样本应用界面图对应的控件异常信息;所述控件异常信息用于指示所述样本应用界面图对应的样本异常控件,以及所述样本异常控件对应的异常类型;
控件子图获取模块,用于对所述样本应用界面图进行实例分割,获得所述样本应用界面图中的各个样本应用控件子图;所述样本应用控件子图用于指示所述样本应用界面图中的各个控件;
第一异常获取模块,用于根据第一控件异常检测模型,对所述样本应用界面图中的各个样本应用控件子图进行处理,获得所述各个样本应用控件子图的第一异常信息;
第一模型训练模块,用于基于所述样本应用界面图对应的样本异常控件,以及所述各个样本应用控件子图的第一异常信息,对所述第一控件异常检测模型进行训练;
其中,训练后的所述控件异常检测模型,用于对所述第一应用界面图中的各个应用控件子图进行处理,确定所述各个应用控件子图的第一异常信息。
综上所述,本申请实施例提供的控件标识生成装置,对于要检验的第一应用界面图,通过至少一个控件检测模型对该第一应用界面图的控件进行检测,确定该第一应用界面图的控件是否存在显示问题;再对该第一应用界面图的页面进行判定,确定该第一应用界面图的页面是否存在显示问题,并根据该第一应用界面图的控件检测结果以及页面检测结果,确定该第一应用界面图存在的异常显示问题。上述方案,将该第一应用界面图分为页面部分以及控件部分,并且通过不同的控件检测模型实现对控件的检测,分别考虑了页面以及控件可能存在的显示问题,提高了界面异常检测的准确性。
图8是根据一示例性实施例示出的计算机设备的结构框图。该计算机设备可以实现为本申请上述方案中的控件标识生成系统中的计算机设备,该计算机设备可以是服务器。所述计算机设备800包括中央处理单元(Central Processing Unit,CPU)801、包括随机存取存储器(Random Access Memory,RAM)802和只读存储器(Read-Only Memory,ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器801通过执行该一个或一个以上程序来实现图2或图3所示的方法的全部或者部分步骤。
本领域技术人员可以理解,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
图9是根据一示例性实施例示出的计算机设备900的结构框图。该计算机设备900可以是终端,比如智能手机、平板电脑、笔记本电脑或台式电脑。计算机设备900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的虚拟场景中的对象提示方法。
在一些实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置计算机设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在计算机设备900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在计算机设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位计算机设备900的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为计算机设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以计算机设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测计算机设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对计算机设备900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在计算机设备900的侧边框和/或显示屏905的下层。当压力传感器913设置在计算机设备900的侧边框时,可以检测用户对计算机设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置计算机设备900的正面、背面或侧面。当计算机设备900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在计算机设备900的前面板。接近传感器916用于采集用户与计算机设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种计算机可读存储介质,用于存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述界面异常检测方法的全部或部分步骤。例如,该计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中所示的界面异常检测方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种界面异常检测方法,其特征在于,所述方法包括:
获取第一应用界面图;
根据所述第一应用界面图,通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果;所述控件检测结果用于指示所述第一应用界面图中的异常控件,以及与所述异常控件对应的控件异常类型;所述控件异常检测模型是以样本应用界面图为样本,以所述样本应用界面图对应的控件异常信息为标注,通过获取所述样本应用界面图以及所述样本应用界面图对应的控件异常信息,对所述样本应用界面图进行实例分割,获得所述样本应用界面图中的各个样本应用控件子图,根据第一控件异常检测模型对所述样本应用界面图中的各个样本应用控件子图进行处理,获得所述各个样本应用控件子图的第一异常信息,并且基于所述样本应用界面图对应的样本异常控件,以及所述各个样本应用控件子图的第一异常信息,对所述第一控件异常检测模型进行训练获得的机器学习模型;训练后的所述控件异常检测模型用于对所述第一应用界面图中的各个应用控件子图进行处理,确定所述各个应用控件子图的第一异常信息;所述第一应用界面图对应的控件检测结果包括所述第一应用界面图中的各个应用控件子图的所述第一异常信息;所述各个应用控件子图的第一异常信息用于指示所述各个应用控件子图与所述第一控件异常检测模型的异常类型的对应关系;
根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果;所述页面检测结果用于指示所述第一应用界面图中的异常区域,以及与所述异常区域对应的页面异常类型;
根据所述第一应用界面图对应的控件检测结果以及所述第一应用界面图对应的页面检测结果,确定所述第一应用界面图的异常显示结果。
2.根据权利要求1所述的方法,其特征在于,所述控件异常类型包括文字不居中、文字像素缺失、线框像素缺失、文字超范围、文字或图层重叠、页面内容偏移、删除线不居中以及图片或文字变形中的至少一者。
3.根据权利要求1所述的方法,其特征在于,
所述页面异常类型包括白屏显示以及大面积纯色区域中的至少一者。
4.根据权利要求3所述的方法,其特征在于,当所述页面异常类型包括白屏显示时,所述根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果,包括:
当所述第一应用界面图满足第一指定条件时,获取第一页面异常结果;所述第一页面异常结果用于指示所述第一应用界面图存在白屏显示;
根据所述第一页面异常结果,获取所述第一应用界面图对应的页面检测结果;
其中,所述第一指定条件包括以下条件中的至少一者:
所述第一应用界面图中的文字面积低于第一阈值;
所述第一应用界面图中的白色像素面积高于第二阈值。
5.根据权利要求3所述的方法,其特征在于,当所述页面异常类型包括大面积纯色区域时,所述根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果,包括:
获取所述第一应用界面图中各个像素点的色彩信息;
当所述第一应用界面图中存在面积大于第三阈值,且色彩相同的像素点区域,获取第二页面异常结果;所述第二页面异常结果用于指示所述第一应用界面图存在大面积纯色区域;
根据所述第二页面异常结果,获取所述第一应用界面图对应的页面检测结果。
6.根据权利要求1所述的方法,其特征在于,所述通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果,包括:
对所述第一应用界面图进行实例分割,获得所述第一应用界面图中的各个应用控件子图;所述应用控件子图用于指示所述第一应用界面图中的各个应用控件;
通过至少一种控件异常检测模型,分别对所述第一应用界面图中的各个应用控件子图进行处理,获得所述第一应用界面图对应的控件检测结果。
7.根据权利要求1所述的方法,其特征在于,所述获取第一应用界面图,包括:
获取第一页面地址;
根据所述第一页面地址,进入所述第一页面地址对应的第一应用界面;
对所述第一应用界面进行截图处理,获得所述第一应用界面图。
8.一种界面异常检测装置,其特征在于,所述装置包括:
应用界面获取模块,用于获取第一应用界面图;
控件检测模块,用于根据所述第一应用界面图,通过至少一种控件异常检测模型进行处理,获得所述第一应用界面图对应的控件检测结果;所述控件检测结果用于指示所述第一应用界面图中的异常控件,以及与所述异常控件对应的控件异常类型;所述控件异常检测模型是以样本应用界面图为样本,以所述样本应用界面图对应的控件异常信息为标注,通过获取所述样本应用界面图以及所述样本应用界面图对应的控件异常信息,对所述样本应用界面图进行实例分割,获得所述样本应用界面图中的各个样本应用控件子图,根据第一控件异常检测模型对所述样本应用界面图中的各个样本应用控件子图进行处理,获得所述各个样本应用控件子图的第一异常信息,并且基于所述样本应用界面图对应的样本异常控件,以及所述各个样本应用控件子图的第一异常信息,对所述第一控件异常检测模型进行训练获得的机器学习模型;训练后的所述控件异常检测模型用于对所述第一应用界面图中的各个应用控件子图进行处理,确定所述各个应用控件子图的第一异常信息;所述第一应用界面图对应的控件检测结果包括所述第一应用界面图中的各个应用控件子图的所述第一异常信息;所述各个应用控件子图的第一异常信息用于指示所述各个应用控件子图与所述第一控件异常检测模型的异常类型的对应关系;
页面检测模块,用于根据所述第一应用界面图,获得所述第一应用界面图对应的页面检测结果;所述页面检测结果用于指示所述第一应用界面图中的异常区域,以及与所述异常区域对应的页面异常类型;
异常显示确定模块,用于根据所述第一应用界面图对应的控件检测结果以及所述第一应用界面图对应的页面检测结果,确定所述第一应用界面图的异常显示结果。
9.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的界面异常检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的界面异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110309207.7A CN112965911B (zh) | 2021-03-23 | 2021-03-23 | 界面异常检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110309207.7A CN112965911B (zh) | 2021-03-23 | 2021-03-23 | 界面异常检测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965911A CN112965911A (zh) | 2021-06-15 |
CN112965911B true CN112965911B (zh) | 2022-04-26 |
Family
ID=76278090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110309207.7A Active CN112965911B (zh) | 2021-03-23 | 2021-03-23 | 界面异常检测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965911B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116562991B (zh) * | 2023-07-10 | 2024-02-13 | 北京未来链技术有限公司 | 面向元宇宙电商平台的商品大数据信息识别方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025174A (zh) * | 2017-04-06 | 2017-08-08 | 网易(杭州)网络有限公司 | 用于设备的用户界面异常测试的方法、装置和可读储介质 |
CN107832774A (zh) * | 2017-10-09 | 2018-03-23 | 无线生活(杭州)信息科技有限公司 | 一种页面异常检测方法及装置 |
CN109815156A (zh) * | 2019-02-28 | 2019-05-28 | 北京百度网讯科技有限公司 | 页面中视觉元素的展示测试方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250343B2 (en) * | 2017-06-08 | 2022-02-15 | Sap Se | Machine learning anomaly detection |
CN110955590A (zh) * | 2019-10-15 | 2020-04-03 | 北京海益同展信息科技有限公司 | 界面检测方法、图像处理方法、装置、电子设备及存储介质 |
CN112130944A (zh) * | 2020-09-16 | 2020-12-25 | 北京三快在线科技有限公司 | 页面异常的检测方法、装置、设备及存储介质 |
-
2021
- 2021-03-23 CN CN202110309207.7A patent/CN112965911B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025174A (zh) * | 2017-04-06 | 2017-08-08 | 网易(杭州)网络有限公司 | 用于设备的用户界面异常测试的方法、装置和可读储介质 |
CN107832774A (zh) * | 2017-10-09 | 2018-03-23 | 无线生活(杭州)信息科技有限公司 | 一种页面异常检测方法及装置 |
CN109815156A (zh) * | 2019-02-28 | 2019-05-28 | 北京百度网讯科技有限公司 | 页面中视觉元素的展示测试方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
Building Search Engine Using Machine Learning Technique;R. Karwa 等;《2019 International Conference on Intelligent Computing and Control Systems (ICCS)》;20200416;1061-1064 * |
基于机器学习的用户行为异常检测模型;田新广 等;《计算机工程与应用》;20060731(第19期);101-103,111 * |
Also Published As
Publication number | Publication date |
---|---|
CN112965911A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582579B (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN108415705B (zh) | 网页生成方法、装置、存储介质及设备 | |
CN110413501B (zh) | 浏览器兼容性测试方法、装置、系统及可读存储介质 | |
CN109491924B (zh) | 代码检测方法、装置、终端及存储介质 | |
CN111416756B (zh) | 协议测试方法、装置、计算机设备及存储介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN111274155B (zh) | 动态库的内存操作记录方法、装置、设备及存储介质 | |
CN111459466B (zh) | 代码生成方法、装置、设备及存储介质 | |
CN110275836A (zh) | 虚幻引擎应用的安全测试方法、装置及存储介质 | |
CN111338933A (zh) | 埋点验证方法、装置、设备及存储介质 | |
CN112116690A (zh) | 视频特效生成方法、装置及终端 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN112749362A (zh) | 控件创建方法、装置、设备及存储介质 | |
CN112052167A (zh) | 生成测试脚本代码的方法和装置 | |
CN110457571B (zh) | 获取兴趣点信息的方法、装置、设备及存储介质 | |
CN112965911B (zh) | 界面异常检测方法、装置、计算机设备及存储介质 | |
CN112052419A (zh) | 图片加载方法、装置、设备及可读存储介质 | |
CN109597951B (zh) | 信息分享方法、装置、终端及存储介质 | |
CN111294320B (zh) | 数据转换的方法和装置 | |
CN113268234A (zh) | 页面生成方法、装置、终端和存储介质 | |
CN112860261A (zh) | 静态代码检查方法、装置、计算机设备及可读存储介质 | |
CN112162735A (zh) | 控件标识生成方法、装置、计算机设备及存储介质 | |
CN114385939A (zh) | 应用显示方法、应用显示系统、装置及设备 | |
CN111858367A (zh) | 代码覆盖率测试方法、系统、装置、电子设备及存储介质 | |
CN112699906A (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 |