CN113946503A - 确定界面状态的方法、装置、存储介质及电子设备 - Google Patents
确定界面状态的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113946503A CN113946503A CN202111139507.1A CN202111139507A CN113946503A CN 113946503 A CN113946503 A CN 113946503A CN 202111139507 A CN202111139507 A CN 202111139507A CN 113946503 A CN113946503 A CN 113946503A
- Authority
- CN
- China
- Prior art keywords
- state
- interface
- display interface
- determining
- transition diagram
- 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
- 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/3692—Test management for test results analysis
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种确定界面状态的方法、装置、存储介质及电子设备,涉及数据处理技术领域,尤其涉及深度学习技术领域。具体实现方案为:在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及界面自动化测试技术领域。
背景技术
目前,在对前端进行自动化测试时,用例执行过程中显示界面跳转主要采取预设等待时长的方式,但等待时长不足容易导致路径失真,等待时间过长又可能导致用例执行效率低下;此外,部分显示界面稳定状态测试方案采取离线计算方式,无法实时反馈用例执行过程的稳定状态。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开提供了一种用于确定界面状态的方法、装置、存储介质及电子设备。
根据本公开的一方面,提供了一种确定界面状态的方法,包括:在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
根据本公开的另一方面,提供了一种确定界面状态的装置,与自动化测试平台连接,包括:截图模块,用于在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;管理模块,与上述截图模块连接,用于对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;策略分析模块,与上述管理模块连接,用于基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行任一项上述的确定界面状态的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行任一项上述的确定界面状态的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现任一项上述的确定界面状态的方法。
根据本公开的另一方面,提供了一种确定界面状态的产品,包括如上述的电子设备。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的确定界面状态的方法的步骤流程示意图;
图2是根据本公开第一实施例的一种可选的获取显示界面的截屏图像的步骤流程示意图;
图3是根据本公开第一实施例的一种可选的确定界面状态的方法的步骤流程示意图;
图4是根据本公开第一实施例的另一种可选的确定界面状态的方法的步骤流程示意图;
图5是根据本公开第一实施例的一种可选的基于密集卷积网络对显示界面进行二分类的示意图;
图6是根据本公开第一实施例的另一种可选的确定界面状态的方法的步骤流程示意图;
图7是根据本公开第一实施例的一种可选的界面状态转移过程的步骤流程示意图;
图8是根据本公开第一实施例的一种可选的稳定界面和预测的稳定界面对比示意图;
图9是根据本公开第二实施例的确定界面状态的装置的结构示意图;
图10是根据本公开第三实施例的一种可选的电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
目前,在对前端进行自动化测试时,主流的人工智能AI测试平台如airtest,mabl,Eggplant采用的是一种调用系统级接口等待的策略。例如,一种动作执行完等待5秒,然后执行下一步操作,如果下一步操作执行失败,会重新等待一段时间,且等待时长一般不超过30s。但上述预设等待时长的方式,若等待时长不足容易导致路径失真,等待时间过长又可能导致用例执行效率低下;同时,弹窗的出现是当前测试进程失败的主要原因,现有技术中的去弹窗方案主要是在页面跳转失败后被动去弹窗,或用户在发现弹窗出现后中手动去弹窗,导致用例执行过程不连续,进而影响用例执行效率。
此外,一些客户端通过常规页面加载时延计算的方式测试显示界面的稳定状态,即通过判断页面加载的起始和稳定状态,使用后一帧的截屏图像判断稳定页面,且单次计算耗时要求不高。一些显示界面的稳定状态测试工具,例如,通过stagesepx测试工具判断显示界面稳定状态耗时较大,且该测试工具主要是通过训练历史的稳定页面,即采用机器学习方法如SVM进行二分类,判断当前先显示界面的稳定状态,但上述方法均采取离线计算方式,无法实时反馈用例执行过程的稳定状态。
针对上述问题,本公开实施例提供了一种确定界面状态的方法的实施例,本公开实施例需要实时进行在线计算,因此对于计算的速度有较高的要求。随着实时截屏工具,深度学习,边缘计算和硬件的图像处理计算能力逐渐完善,使得对于在线实时的页面稳定感知可行性变高。本公开实施例采用边缘计算和NPU芯片等进行加速,并采用状态转移和传统图像特征提取计算判断当前的界面显示状态。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本公开第一实施例的确定界面状态的方法的步骤流程示意图,如图1所示,该方法包括如下步骤:
步骤S102,在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;
步骤S104,对上述截屏图像进行处理,得到状态转移图;
步骤S106,基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态。
可选的,上述自动化测试过程可以但不限于包括功能自动化测试中,在执行点击操作、滑动操作和/或预先设置的一系列操作流程(即schema模式)后,显示界面加载、渲染、以及稳定后跳转到新的显示界面的过程。
可选的,上述截屏图像为在执行自动化测试时,显示界面跳转的预设等待时长内获取的截屏图像,并且每个预设等待时长内获取的截屏图像的帧数相同。例如,在一个点击场景中,设置固定等待时间(即最长等待时间)为4秒,记为timep,每个等待时间内获取的截屏图像的帧数为n,则每(timep÷n)的时长内获取一帧截屏图像。
可选的,上述状态转移图用于描述上述显示界面的至少一种状态参数;上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
可选的,上述起始状态可以但不限于为执行点击操作、滑动操作和/或预先设置的一系列操作流程(即schema模式)后,显示界面的起始状态(即第一帧的截屏图像);上述弹窗状态为在执行自动化测试过程中,显示界面出现弹窗的状态;上述中间状态可以但不限于为在执行自动化测试过程中,显示界面中出现的中转状态、转圈、加载插件、空白图片、页面模糊状态,等等;上述终点状态可以但不限于为在执行自动化测试过程中,显示界面加载、渲染、以及稳定后跳转到新的显示界面的最终显示状态,例如视频播放态或图文静止显示界面。
在本公开实施例中,通过在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态,达到了在执行自动化测试过程中,实时监测显示界面跳转状态的目的,从而实现了提高线上自动化测试的稳定性和测试效率技术效果,进而解决了前端自动化测试用例执行过程中,显示界面跳转预设时长不准确无法确定界面状态,导致自动化测试的稳定性差且测试效率低的技术问题。
需要说明的是,本公开实施例通过智能的实时的显示界面状态的监控,能有效缩短显示界面跳转动作执行的时间,例如,原来等待5秒的动作,现在只需要3秒,至少可节约40%的时延,大大提升执行速度;此外,由于网络状态和手机性能导致的访问速度变慢,测试人员不知道等待5s是否足够,导致显示界面还没有稳定就进行下一步操作,显示界面监控方式能多等待一段时间,从而让测试用例成功执行,提升整体稳定性。
由于弹窗的出现是导致当前测试进程失败的一个主要原因,现有技术中的去弹窗方案主要是在显示界面跳转失败后被动去弹窗,或在显示界面跳转过程中手动去弹窗,导致用例执行过程不连续,进而影响用例执行效率。
本公开实施例能够基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,以实现实时监测弹窗,进一步减少人工干预,更加智能稳定高效;此外,本公开实施例通过边缘计算,充分利用高性能终端设备,减少服务器端计算的网络传输消耗,使得整个实时的自动判断显示界面稳定状态的方案具有通用性。
在一种可选的实施例中,上述获取自动化测试平台的显示界面的截屏图像,包括:
步骤S202,采用截图工具对当前帧的上述显示界面进行截图,得到上述截屏图像;
步骤S204,从上述截图工具中实时获取上述截屏图像。
可选的,上述截图工具可以但不限于为屏幕拷贝工具minicap。
需要说明的是,目前在移动端或PC端的实时截图工具发展完善,例如minicap,可以达到30帧/s的截图速率,不断进行高速截图,并且稳定高效适合多种平台,上述截图工具可以达到实时获取截屏图像的目的,进而实现实时监控显示界面状态,有效提升显示界面跳转动作执行的时间的技术效果。
作为一种可选的实施例,图2是根据本公开第一实施例的一种可选的获取显示界面的截屏图像的步骤流程示意图,如图2所示,上述截屏图像的获取方案中包括:管理线程manager、截屏线程snapshot-taker,策略线程strategy、策略分析线程analyze,其中,上述管理线程用于调度实时截屏工具,并选择最近的一帧图片返回给策略线程;上述截屏线程用于向管理线程返回第0帧的截屏图像,上述策略线程用于发送截屏图像获取请求,即发送请求需要第N帧截屏图像;上述策略分析线程用于分析当前显示界面状态是否是重点状态的线程。具体实现流程为:上述截屏线程向管理线程返回第0帧(即初始显示界面的帧号)的截屏图像,由管理线程不断向策略线程实时发送截屏图像,策略分析线程实时分析并反馈给管理线程下一帧的帧号,以及当前显示界面状态是否是重点状态的线程等信息。
在一种可选的实施例中,上述对上述截屏图像进行处理,得到状态转移图,包括:
步骤S302,采用状态转移算法对上述截屏图像进行处理,得到上述状态转移图。
可选的,上述状态转移图用于描述上述显示界面的至少一种状态参数;上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
在本公开实施例中,通过采用上述状态转移算法对上述截屏图像进行处理,得到上述状态转移图的方式,以达到及时并准确获取当前界面状态的目的。
在一种可选的实施例中,上述基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,包括:
步骤S402,基于上述状态转移图描述的上述状态参数,确定上述显示界面相较于初始帧界面是否发生变化;
步骤S404,若上述显示界面相较于上述初始帧界面并未发生变化,则确定上述当前界面状态为上述初始状态。
可选的,基于上述状态参数确定界面相似度值,其中,上述界面相似度值用于判断显示界面相较于初始帧界面是否发生变化,上述界面相似度值可以但不限于通过哈希指纹,SSIM等算法进行判断,并且当界面相似度值高于预设值时,则认为上述显示界面相较于上述初始帧界面并未发生变化,并确定上述当前界面状态为上述初始状态。
可选的,上述初始状态可以但不限于为执行点击操作、滑动操作和/或预先设置的一系列操作流程(即schema模式)后,显示界面的起始状态(即第一帧的截屏图像)。
需要说明的是,上述确定界面状态的方法,通过判断当前界面状态与初始帧界面(即第一帧截屏图像)是否一致来确定上述当前界面状态是否为初始状态的方式,达到了快速并准确判断上述当前界面状态是否为初始状态的目的。
作为一种可选的实施例,图3是根据本公开第一实施例的一种可选的确定界面状态的方法的步骤流程示意图,如图3所示,上述基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,包括:
步骤S502,基于上述状态转移图描述的上述状态参数,确定上述显示界面相较于初始帧界面是否发生变化;
步骤S504,若上述显示界面相较于上述初始帧界面发生变化,则检测上述显示界面的界面空白率;
步骤S506,响应于上述界面空白率大于或等于预设的空白率阈值,则确定上述当前界面状态为上述中间状态,上述中间状态用于表征上述显示界面处于非稳定显示状态。
可选的,基于上述状态参数确定界面相似度值,其中,上述界面相似度值用于判断显示界面相较于初始帧界面是否发生变化,上述界面相似度值可以但不限于通过哈希指纹,SSIM等算法进行判断,当界面相似度值低于预设值时,则认为上述显示界面相较于上述初始帧界面发生变化,并进一步基于界面空白率判断上述当前界面状态是否为上述中间状态。
可选的,在计算界面空白率之前,可通过图像识别算法对当前显示界面进行预处理,例如,先通过边缘检测方法对模糊图像的边缘进行过滤处理,并通过一些其他的算法,如像素级别扫描技术,用于将去除骨架屏(即判断当前界面内是否有多余横线,有则去除),基于处理后的显示界面计算界面空白率。
需要说明的是,上述中间状态是在显示界面渲染过程中(前端显示界面一般由各个显示界面组件组成,渲染是往组件里添加内容过程),中间状态会有部分或全部组件处于空白状态,界面空白率可用当前显示界面中空白面积占显示界面总面积的百分比表示,当上述界面空白率高于某个阈值,例如80%时,则确定当前界面状态为中间状态。上述基于界面空白率判断上述当前界面状态是否为上述中间状态的方法,能够快速识别出中间状态,进而有效缩短显示界面跳转动作执行的时间,提升执行速度。
可选的,上述中间状态可以但不限于为在执行自动化测试过程中,显示界面中出现的中转状态、转圈、加载插件、空白图片、页面模糊状态,等等。
作为一种可选的实施例,图4是根据本公开第一实施例的另一种可选的确定界面状态的方法的步骤流程示意图,如图4所示,上述基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,包括:
步骤S602,基于上述状态转移图描述的上述状态参数,确定上述显示界面相较于初始帧界面是否发生变化;
步骤S604,若上述显示界面相较于上述初始帧界面发生变化,则检测上述显示界面的界面空白率;
步骤S606,响应于上述界面空白率小于预设的空白率阈值,则确定上述当前界面状态为上述终点状态或者上述弹窗状态,其中,上述终点状态用于表征上述显示界面处于稳定显示状态,上述弹窗状态用于表征上述显示界面上存在弹窗控件。
可选的,基于上述状态参数确定界面相似度值,其中,上述界面相似度值用于判断显示界面相较于初始帧界面是否发生变化,上述界面相似度值可以但不限于通过哈希指纹,SSIM等算法进行判断,当界面相似度值低于预设值时,则确定上述显示界面相较于上述初始帧界面发生变化,并在界面空白率小于预设的空白率阈值的情况下,确定上述当前界面状态为上述终点状态或者上述弹窗状态。
可选的,基于深度学习和边缘计算实时判断上述显示界面上是否存在弹窗控件,即确定上述当前界面状态是否为弹窗状态。
需要说明的是,一般的深度学习能力部署在服务器侧,边缘计算是在靠近数据获取的终端上进行计算的一种能力,它的好处是可以充分利用近端的设备资源,随着一批高性能设备,例如图像计算芯片(NPU芯片,APU芯片,XPU芯片),以及PC端GPU系列越来越普及,使得实时的图像计算可行性变高,通过基于深度学习和边缘计算实时判断上述显示界面上是否存在弹窗控件的方式,能够达到降低网络传输的消耗、有效缩短显示界面跳转延时的目的,实现降低线上自动化测试过程的打断感,减少人工干预,提高线上自动化测试的稳定性和测试效率技术效果。
可选的,通过网络结构(例如密集卷积网络densenet、轻量级网络mobilenet等等)对显示界面进行二分类,即将显示界面根据弹窗显示情况分为弹窗状态和非弹窗状态。图5示出了一种可选的基于密集卷积网络对显示界面进行二分类的示意图,如图所示,基于密集卷积网络对显示界面进行训练,并基于推理框架确定上述当前界面状态为弹窗状态。可选的,上述推理框架可以但不限于为paddlelite推理框架、tensorlite推理框架,其中,上述paddlelite推理框架适用于移动终端设备,上述tensorlite推理框架适用于PC端。需要说明的是,上述网络结构在嵌入式神经网络处理设备NPU上可达到30ms的分类识别速度,PC端的图像处理器GPU也能更快,可以达到近乎实时分类的效果。
作为一种可选的实施例,图6是根据本公开第一实施例的另一种可选的确定界面状态的方法的步骤流程示意图,如图6所示,上述基于上述状态转移图描述的上述状态参数,确定上述显示界面相较于初始帧界面是否发生变化,包括:
步骤S702,获取上述状态转移图描述的上述显示界面的第一状态参数和上述初始帧界面对应的第二状态参数;
步骤S704,基于上述第一状态参数和上述第二状态参数,计算上述显示界面与上述初始帧界面之间的相似度值;
步骤S706,依据上述相似度值确定上述显示界面相较于上述初始帧界面是否发生变化。
可选的,上述界面相似度值可以但不限于通过哈希指纹,SSIM等算法进行判断,并且当界面相似度值高于预设值时,则认为上述显示界面相较于上述初始帧界面并未发生变化。
在本公开实施例中,通过获取上述状态转移图描述的上述显示界面的第一状态参数和上述初始帧界面对应的第二状态参数;基于上述第一状态参数和上述第二状态参数,计算上述显示界面与上述初始帧界面之间的相似度值;依据上述相似度值确定上述显示界面相较于上述初始帧界面是否发生变化的方式,能够达到及时获取并反馈显示界面的显示状态信息的目的,进而实现提高线上自动化测试效率的技术效果。
作为一种可选的实施例,图7是根据本公开第一实施例的一种可选的界面状态转移过程的步骤流程示意图,如图7所示,确定上述采样帧数n=4,等待时间(即最长等待时间)为4秒,记为timep,上述界面状态转移过程包括:传入初始帧(即第一帧)界面,对上述初始帧界面,记为初始化状态status=-1;确定时间偏移量为0时的状态为初始状态,记为status=0,执行返回操作,在确定当前策略结果正常且当前循环结束后,请求访问下一帧的时间偏移量nextframe,其中下一帧的时间偏移量nextframe=nextframe+timep/n。
传入第二帧显示界面,基于状态参数计算上述第二帧显示界面和初始帧界面之间的相似度值,若上述相似度值高于预设值,则保持当前界面显示状态不变,仍为上述初始状态status=0;若上述相似度值低于预设值,则判断当前界面显示状态是否为中间状态,若是,则更新上述当前界面显示状态为中间状态status=1,执行返回操作,并在确定当前策略结果正常且当前循环结束后,请求访问下一帧的时间偏移量nextframe,其中下一帧的时间偏移量nextframe=nextframe+timep/n;否则更新上述当前界面显示状态为预终点状态status=2,执行返回操作,并在确定当前策略结果正常且当前循环结束后,请求访问下一帧的时间偏移量nextframe,其中下一帧的时间偏移量nextframe=nextframe+timep/2n。
传入第三帧显示界面,判断当前界面显示状态是否为status=1,若是,则中间状态持续次数为2次,更显当前界面显示状态为status=2;若当前界面显示状态为status=2,则更显当前界面显示状态为终点状态status=3,执行返回操作,并在确定当前策略结果正常且当前循环结束后,返回当前稳定帧的时间偏移量,界面状态转移进程结束。
否则传入第四帧显示界面,重复上述界面显示状态判断操作,直至当前显示界面的帧数超过6帧,执行返回操作,确定当前策略结果失败且当前循环结束。
需要说明的是,上述界面状态转移进程在显示界面的帧数超过6帧后会自动停止,比采样帧数n=4多2帧,有效解决因为等待时长过短导致的路径失真问题,以及等待时长过长导致的效率低下问题。在当前界面显示状态为status=2之后,时间偏移量nextframe由nextframe+timep/n变为nextframe+timep/2n,及采样间隔缩短为原来的一半,以减少等待时间,加快进入终点状态,同时实时记录当前界面显示状态判断的准确率,并在准确率低于阈值的情况下,适当延长采样间隔。
可选的,由于基于界面特征计算(例如基于状态参数计算的相似度值)不可能完全准确,遇到小的目标物体,有一定概率无法准确判断,例如,图8示出的稳定界面(左)和预测的稳定界面(右)中,右图中的预测的稳定页面的关键按钮(三个点标识出的按钮)没有识别,导致用户无法执行相关点击操作,引发路径失真问题。可通过添加用户模板的方式解决上述小目标问题,即使用模板匹配的方法判断是否是目标稳定状态,其中,上述用户模板可以但不限于基于视觉计算库templetematch和/或深度学习算法获取。
仍需要说明的是,本实施例的可选或优选实施方式可以参见上述确定界面状态的方法实施例中的相关描述,此处不再赘述。本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例2
根据本公开实施例,还提供了一种用于实施上述确定界面状态的方法的装置实施例,图9是根据本公开第二实施例的确定界面状态的装置的结构示意图,如图9所示,上述确定界面状态的装置,包括:截图模块20、管理模块22、策略分析模块24,其中:
上述截图模块20,用于在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;上述管理模块22,与上述截图模块连接,用于对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;上述策略分析模块24,与上述管理模块连接,用于基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
在本公开实施例中,通过上述截图模块20,用于在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;上述管理模块22,与上述截图模块连接,用于对上述截屏图像进行处理,得到状态转移图,其中,上述状态转移图用于描述上述显示界面的至少一种状态参数;上述策略分析模块24,与上述管理模块连接,用于基于上述状态转移图描述的上述状态参数确定上述显示界面的当前界面状态,其中,上述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态,实时监测显示界面跳转状态的目的,从而实现了提高线上自动化测试的稳定性和测试效率技术效果,进而解决了前端自动化测试用例执行过程中,显示界面跳转预设时长不准确无法确定界面状态,导致自动化测试的稳定性差且测试效率低的技术问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述截图模块20、管理模块22、策略分析模块24对应于实施例1中的步骤S102至步骤S106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例三
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像。例如,在一些实施例中,方法在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (12)
1.一种确定界面状态的方法,包括:
在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;
对所述截屏图像进行处理,得到状态转移图,其中,所述状态转移图用于描述所述显示界面的至少一种状态参数;
基于所述状态转移图描述的所述状态参数确定所述显示界面的当前界面状态,其中,所述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
2.根据权利要求1所述的方法,其中,所述基于所述状态转移图描述的所述状态参数确定所述显示界面的当前界面状态,包括:
基于所述状态转移图描述的所述状态参数,确定所述显示界面相较于初始帧界面是否发生变化;
若所述显示界面相较于所述初始帧界面并未发生变化,则确定所述当前界面状态为所述初始状态。
3.根据权利要求1所述的方法,其中,所述基于所述状态转移图描述的所述状态参数确定所述显示界面的当前界面状态,包括:
基于所述状态转移图描述的所述状态参数,确定所述显示界面相较于初始帧界面是否发生变化;
若所述显示界面相较于所述初始帧界面发生变化,则检测所述显示界面的界面空白率;
响应于所述界面空白率大于或等于预设的空白率阈值,则确定所述当前界面状态为所述中间状态,所述中间状态用于表征所述显示界面处于非稳定显示状态。
4.根据权利要求1所述的方法,其中,所述基于所述状态转移图描述的所述状态参数确定所述显示界面的当前界面状态,包括:
基于所述状态转移图描述的所述状态参数,确定所述显示界面相较于初始帧界面是否发生变化;
若所述显示界面相较于所述初始帧界面发生变化,则检测所述显示界面的界面空白率;
响应于所述界面空白率小于预设的空白率阈值,则确定所述当前界面状态为所述终点状态或者所述弹窗状态,其中,所述终点状态用于表征所述显示界面处于稳定显示状态,所述弹窗状态用于表征所述显示界面上存在弹窗控件。
5.根据权利要求2至4中任意一项所述的方法,其中,所述基于所述状态转移图描述的所述状态参数,确定所述显示界面相较于初始帧界面是否发生变化,包括:
获取所述状态转移图描述的所述显示界面的第一状态参数和所述初始帧界面对应的第二状态参数;
基于所述第一状态参数和所述第二状态参数,计算所述显示界面与所述初始帧界面之间的相似度值;
依据所述相似度值确定所述显示界面相较于所述初始帧界面是否发生变化。
6.根据权利要求1所述的方法,其中,所述对所述截屏图像进行处理,得到状态转移图,包括:
采用状态转移算法对所述截屏图像进行处理,得到所述状态转移图。
7.根据权利要求1所述的方法,其中,所述获取自动化测试平台的显示界面的截屏图像,包括:
采用截图工具对当前帧的所述显示界面进行截图,得到所述截屏图像;
从所述截图工具中实时获取所述截屏图像。
8.一种确定界面状态的装置,与自动化测试平台连接,包括:
截图模块,用于在执行自动化测试过程中,获取自动化测试平台的显示界面的截屏图像;
管理模块,与所述截图模块连接,用于对所述截屏图像进行处理,得到状态转移图,其中,所述状态转移图用于描述所述显示界面的至少一种状态参数;
策略分析模块,与所述管理模块连接,用于基于所述状态转移图描述的所述状态参数确定所述显示界面的当前界面状态,其中,所述当前界面状态包括以下至少之一:初始状态、弹窗状态、中间状态和终点状态。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的确定界面状态的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的确定界面状态的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的确定界面状态的方法。
12.一种确定界面状态的产品,包括如权利要求9所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111139507.1A CN113946503A (zh) | 2021-09-26 | 2021-09-26 | 确定界面状态的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111139507.1A CN113946503A (zh) | 2021-09-26 | 2021-09-26 | 确定界面状态的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946503A true CN113946503A (zh) | 2022-01-18 |
Family
ID=79329243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111139507.1A Pending CN113946503A (zh) | 2021-09-26 | 2021-09-26 | 确定界面状态的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946503A (zh) |
-
2021
- 2021-09-26 CN CN202111139507.1A patent/CN113946503A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3926526A2 (en) | Optical character recognition method and apparatus, electronic device and storage medium | |
CN113691733B (zh) | 视频抖动检测方法、装置、电子设备和存储介质 | |
EP3852007B1 (en) | Method, apparatus, electronic device, readable storage medium and program for classifying video | |
KR20210156243A (ko) | 딥러닝 프레임워크의 훈련 방법, 장치 및 저장 매체 | |
CN112712498A (zh) | 移动终端执行的车辆定损方法、装置、移动终端、介质 | |
CN113946503A (zh) | 确定界面状态的方法、装置、存储介质及电子设备 | |
CN116309963A (zh) | 一种图像的批量标注方法、装置、电子设备及存储介质 | |
CN113779559B (zh) | 用于识别作弊网站的方法、装置、电子设备和介质 | |
CN115700758A (zh) | 一种精子活性的检测方法、装置、设备及存储介质 | |
CN114173158A (zh) | 人脸识别方法、云端设备、客户端设备、电子设备及介质 | |
CN114627343A (zh) | 深度学习模型的训练方法、图像处理方法、装置及设备 | |
CN114445682A (zh) | 训练模型的方法、装置、电子设备、存储介质及产品 | |
CN113807410A (zh) | 图像识别方法、装置以及电子设备 | |
CN117808848B (zh) | 一种识别跟踪方法、装置、电子设备及存储介质 | |
CN116781771B (zh) | 一种使用ocr技术的工位机自动截屏图片解析方法 | |
CN117033463A (zh) | 基于视频日志的优化策略生成方法、装置、设备及介质 | |
CN114511535A (zh) | 一种白屏检测方法、装置、电子设备、介质及产品 | |
CN117785417A (zh) | 模型训练进程的管理方法、装置、电子设备和存储介质 | |
CN118279135A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN116796029A (zh) | 一种视频数据的采样方法、装置、电子设备及存储介质 | |
CN101329730B (zh) | 符号影像辨识方法 | |
CN115620015A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN116028228A (zh) | 一种位图内存占用检测方法、装置、设备及存储介质 | |
CN115331089A (zh) | 用于识别图像文字的方法、装置、设备、介质和产品 | |
CN115131709A (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 |