截图获得方法、装置、终端设备以及存储介质与流程

文档序号:25543102发布日期:2021-06-18 20:39阅读:83来源:国知局
截图获得方法、装置、终端设备以及存储介质与流程

本发明涉及信息采集技术领域,特别涉及一种截图获得方法、装置、终端设备以及存储介质。



背景技术:

应用程序的界面截图在软件开发自动化测试领域和网络空间安全领域有重要作用。在应用程序开发过程中,利用自动化测试工具对运行在移动操作系统(安卓或ios等)上的应用程序的界面进行截图,并将截图与预定义期望图像对比,若截图与预定义期望图像不一致,表明应用程序存在异常。也可通过技术人员手动将自动化测试过程中获得的应用程序截图,与预定义期望图像进行对比,判断应用程序是否正常。在网络空间安全威胁检测中,可以先大规模收集恶意应用程序的界面的截图,再通过计算机视觉技术等分析截图,以生成恶意应用程序检测模型;另外,也可以通过对比不同移动应用界面之间的截图,检测应用程序抄袭和重打包等恶意行为。

但是,利用现有的截图获得方法,对应用程序的界面进行截图时,获得的截图可能为无效截图。



技术实现要素:

本发明的主要目的是提供一种截图获得方法、装置、终端设备以及存储介质,旨在解决现有技术中利用现有的截图获得方法,对应用程序的界面进行截图时,获得的截图为无效截图的技术问题。

为实现上述目的,本发明提出一种截图获得方法,所述截图获得方法包括以下步骤:

启动待截图应用程序;

在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;

对所述目标界面进行截图操作,以获得目标截图。

可选的,所述在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:

在所述待截图应用程序的显示界面为用户协议界面时,发送针对所述显示界面的第一操作,以显示不包括无用遮挡信息的目标界面。

可选的,所述在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:

在所述待截图应用程序的显示界面为引导界面时,发送针对所述显示界面的第二操作,以显示不包括无用遮挡信息的目标界面。

可选的,所述在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:

在所述待截图应用程序的显示界面存在兼容性提示信息时,发送针对所述显示界面的第三操作,以显示不包括无用遮挡信息的目标界面。

可选的,所述在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:

在所述待截图应用程序的显示界面存在停止运行提示信息时,发送针对所述显示界面的第四操作,以显示不包括无用遮挡信息的目标界面。

可选的,所述对所述目标界面进行截图操作,以获得目标截图的步骤,包括:

判断历史截图集中是否存在与所述目标界面对应的截图;

在所述历史截图集中不存在与所述目标界面对应的截图时,对所述目标界面进行截图操作,获得图像信息;

获取所述目标界面的描述信息;

基于所述描述信息和所述图像信息,获得所述目标截图。

可选的,所述基于所述描述信息和所述图像信息,获得所述目标截图的步骤之后,所述方法还包括:

利用所述目标截图对所述历史截图集进行更新,以获得更新后的历史截图集。

此外,为实现上述目的,本发明还提出了一种截图获得装置,所述截图获得装置包括:

启动模块,用于启动待截图应用程序;

发送模块,用于在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;

截图模块,用于对所述目标界面进行截图操作,以获得目标截图。

此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行截图获得程序,所述截图获得程序被所述处理器执行时实现如上述任一项所述的截图获得方法的步骤。

此外,为实现上述目的,本发明还提出了一种存储介质,所述存储介质上存储有截图获得程序,所述截图获得程序被处理器执行时实现如上述任一项所述的截图获得方法的步骤。

本发明技术方案提出了一种截图获得方法,通过启动待截图应用程序;在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;对所述目标界面进行截图操作,以获得目标截图。利用现有的截图方法进行截图时,当待截图应用程序的显示界面满足预设条件时,获得的截图包含无用遮挡信息,使得截图为无效截图,但是本发明截图获得方法,在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;对所述目标界面进行截图操作,以获得目标截图,目标界面不包括无用遮挡信息,获得的目标截图为有效截图,所以,利用本发明的截图获得方法,获得的目标截图为有效截图。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;

图2为本发明截图获得方法第一实施例的流程示意图;

图3为用户协议界面对应的截图示意图;

图4为引导界面对应的截图示意图;

图5为存在兼容性提示信息的界面对应的截图示意图;

图6为存在停止运行提示信息的界面对应的截图示意图;

图7为本发明截图获得装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。

终端设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(userequipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)等。终端设备可能被称为用户终端、便携式终端、台式终端等。

通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的截图获得程序,所述截图获得程序配置为实现如前所述的截图获得方法的步骤。

处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关截图获得方法操作,使得截图获得方法模型可以自主训练学习,提高效率和准确度。

存储器302可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的截图获得方法。

在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。

通信接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路304用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏305用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟按键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有截图获得程序,所述截图获得程序被处理器执行时实现如上文所述的截图获得方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备上执行,或者在位于一个地点的多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备上执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

通常,待截图应用程序启动后,会出现用户协议界面、引导界面、存在停止运行提示信息的界面和存在兼容性提示信息的界面等,这些界面出现在待截图应用程序中,遮挡了待截图应用程序的目标界面(目标界面包括待截图应用程序的主要界面和待截图应用程序的故障信息展示界面),此时,对待截图应用程序的界面进行截图,获得的截图存在上述无用遮挡信息,使得获得的截图为无效截图(无法清晰地从截图中确定出待截图应用程序主要界面中的图像信息,或无法清晰地从截图中确定出待截图应用程序的故障信息展示界面中的图像信息)。若此时待截图应用程序的界面不存在上述无用遮挡信息,则获得的截图为有效截图(可以清晰地从截图中确定出待截图应用程序主要界面中的图像信息,或清晰地从截图中确定出待截图应用程序的故障信息展示界面中的图像信息)。其中,待截图应用程序的主要界面,可以是待截图应用程序的设置界面、用户中心界面或首界面等。

基于上述硬件结构,提出本发明截图获得方法的实施例。

参照图2,图2为本发明截图获得方法第一实施例的流程示意图,所述方法用于终端设备,方法包括以下步骤:

步骤s11:启动待截图应用程序。

需要说明的是,待截图应用程序可以是各种平台下的待截图应用程序,例如安卓平台或ios平台的待截图应用程序,本发明不做限制。通常待截图应用程序为需要进行测试的应用程序,例如,需要进行安全测试的应用程序,需要进行稳定性测试的应用程序,需要进行抄袭或重打包检测的应用程序等。

本发明的执行主体是安装有截图获得程序的终端设备,终端设备具有屏幕,用于显示各种待截图的界面,终端设备执行截图获得程序时,实现本发明的截图获得方法的步骤。

另外,本发明的截图获得程序可以部署在终端设备(主控设备)上,也可以部署在其它电子设备(虚拟器或实体电子设备)上。当部署本发明的截图获得程序的电子设备与终端设备(主控设备)不同时,两个设备可以互相通信,以传送截图获得程序的操作指令和截图等数据。

步骤s12:在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面。

需要说明的是,显示界面可以是指启动待截图应用程序(待截图应用程序首次运行)时,终端设备出现的待截图应用程序的界面,启动待截图应用程序可是第一次启动待截图应用程序,也可以是重新启动待截图应用程序。

在本申请中,预设条件为:所述显示界面为用户协议界面、引导界面、存在兼容性提示信息的界面或存在停止运行提示信息的界面等。即,在显示界面为上述多种界面中的一种时,显示界面满足预设条件。

进一步的,在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:

在所述待截图应用程序的显示界面为用户协议界面时,发送针对所述显示界面的第一操作,以显示不包括无用遮挡信息的目标界面;和/或,

在所述待截图应用程序的显示界面为引导界面时,发送针对所述显示界面的第二操作,以显示不包括无用遮挡信息的目标界面;和/或,

在所述待截图应用程序的显示界面存在兼容性提示信息时,发送针对所述显示界面的第三操作,以显示不包括无用遮挡信息的目标界面;和/或,

在所述待截图应用程序的显示界面存在停止运行提示信息时,发送针对所述显示界面的第四操作,以显示不包括无用遮挡信息的目标界面。

需要说明的是,在满足预设条件的显示界面不同时,对应的确定操作不同。显示界面为用户协议界面时,确定操作为第一操作,第一操作为接收用户协议的操作,用于跳过用户协议界面,以显示目标界面;显示界面为引导界面时,确定操作为第二操作,第二操作用于跳过引导界面,以显示目标界面;显示界面为存在兼容性提示信息的界面时,确定操作为第三操作,第三操作用于跳过存在兼容性提示信息的界面,以显示目标界面;显示界面为存在停止运行提示信息的界面时,确定操作为第四操作,第四操作用于查看故障信息,故障信息展示界面为所述目标界面。其中第一操作、第二操作、第三操作和第四操作均是终端设备自动发送,由终端设备执行该四种操作,并不需要用户手动发送。

可以理解的是,在本申请中,目标界面包括待截图应用程序的主要界面和待截图应用程序的故障信息展示界面等。

另外,在发送确定操作(第一操作、第二操作、第三操作或第四操作)之后,可能会存在误触操作等,使得待截图应用程序退出,导致显示的界面不是待截图应用程序的界面,此时,需要判断当前显示的界面是否为待截图应用程序的界面,若是,则将当前显示的界面确定为目标界面,若不是,则停止截图。

具体的,可以根据待截图应用程序的第一标识,与当前正在运行应用的第二标识进行比对,在第一标识与第二标识相同时,当前显示的界面为待截图应用程序的界面。标识可以是应用程序的名字,例如,安卓应用程序包名等。

通常,用户协议界面和引导界面均是包括关键字的界面,例如,用户协议界面可能包括关键字“用户注册协议”、“用户服务协议”、“隐私政策”、“使用协议”或“法律条款”等,通常,用户协议界面的虚拟按钮中的内容为“ok”、“agree”、“接受”或“accept”等,点击此类虚拟按钮即为发送第一操作。引导界面通常包括关键字“跳过”“skip”或“立即体验”等,第二操作通常为点击“跳过”或“skip”虚拟按键或横向划动多次。

基于用户协议界面和引导界面均是包括关键字的界面,利用ocr(opticalcharacterrecognition,光学字符识别)技术对界面中的关键字进行识别,以基于识别结果,判断界面是否为用户协议界面或引导界面;在另一实施例中,也可以利用计算机视觉技术(cnn,卷积神经网络)对界面的截图进行识别,基于识别结果判断界面是否为用户协议界面或引导界面。

可以理解的是,停止运行提示信息和兼容性提示信息是包括关键字的,例如“停止运行”或“兼容性提示信息”等字眼,利用ocr技术对界面中的关键字进行识别,以基于识别结果,判断界面是否存在停止运行提示信息或兼容性提示信息;在另一实施例中,也可以利用计算机视觉技术对界面的截图进行识别,基于识别结果判断界面是否存在停止运行提示信息或兼容性提示信息。

参照图3,图3为用户协议界面对应的截图示意图。用户协议界面的内容为英文。在图3的下半部分中,两个矩形框代表两个虚拟按键——“accept”虚拟按键和“decline”虚拟按键,用户可以依次点击图中的“”和“accept”虚拟按键,来发送第一操作,以使待截图应用程序进入目标界面。

可以理解的是,用户协议界面的形式不同,对应的第一操作可能不同,用户可以基于用户协议界面的具体形式,确定对应的第一操作。

现有的待截图应用程序的截图获得方法,在对待截图应用程序进行截图时,在待截图应用程序出现用户协议界面时,通常会对显示界面进行随机操作或对待截图应用程序的所有组件进行遍历操作,这可能会发送与第一操作不同的操作(参照图3,例如,点击“decline”虚拟按键的操作),使得待截图应用程序退出,无法继续对待截图应用程序的界面进行截图。

参照图4,图4为引导界面对应的截图示意图。引导界面下方有一个椭圆点和两个圆点,椭圆点表明当前显示界面为引导界面的第一页,圆点表明引导界面还有两页,此时需要横向(向左侧)划动3次,即发送第二操作(左侧滑动3次),或点击右上角的“skip”虚拟按键,发送第二操作,以使待截图应用程序进入目标界面。

可以理解的是,引导界面的形式不同,对应的第二操作可能不同,用户可以基于引导界面的具体形式,确定对应的第二操作。

参照图5,图5为存在兼容性提示信息的界面对应的截图示意图。兼容性提示信息为英文的兼容性提示信息,兼容性提示信息中包括“”和“ok”虚拟按键,点击“ok”虚拟按键,即发送第三操作,兼容性提示信息消除(下次运行待截图应用程序,继续显示兼容性提示信息),显示目标界面,也可以依次点击“”和“ok”虚拟按键,即发送第三操作,兼容性提示信息永久消除。

可以理解的是,存在兼容性提示信息的界面的形式不同,对应的第三操作可能不同,用户可以基于存在兼容性提示信息的界面的具体形式,确定对应的第三操作。

参照图6,图6为存在停止运行提示信息的界面对应的截图示意图。待截图应用程序故障,无法继续运行,不需要继续对待截图应用程序的界面进行截图,只需要对待截图应用程序的故障信息进行截图,此时,可点击“appinfo”虚拟按键,即发送第四操作,以进入故障信息展示界面,故障信息展示界面即为所述目标界面。

在另一实施例中,在待截图应用程序出现存在停止运行提示信息的界面时,待截图应用程序不能正常运行,可点击“closeapp”虚拟按键,以退出待截图应用程序。

可以理解的是,存在停止运行提示信息的界面的形式不同,对应的第四操作可能不同,用户可以基于存在停止运行提示信息的界面的具体形式,确定对应的第三操作。

在一些实施例中,显示界面为上述四种界面的任意一种,针对不同的显示界面,发送不同的确定操作,即可显示目标界面。在本申请中,目标界面可以是待截图应用程序的主要界面或待截图应用程序的故障信息展示界面。

在另一实施例中,所述在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:在所述待截图应用程序的显示界面为用户协议界面时,发送针对所述显示界面的第一操作,以显示第一界面;在所述第一界面为引导界面时,发送针对所述第一界面的第二操作,以显示所述目标界面。即,发送针对所述显示界面的第一操作之后,用户协议界面消失,此时呈现的界面即为所述第一界面。

待截图应用程序的显示界面(尤其是第一次启动待截图应用程序时,终端设备出现的待截图应用程序的界面)通常为用户协议界面(用户协议界面通常是指包括用户协议的界面,用户协议通常包括用户需要得知的关于待截图应用程序涉及的相关法规、法条、规则和协议等信息),需要发送确认接受协议操作(第一操作),以获得新的界面,获得的新的界面可能不是目标界面,而是为引导界面(引导界面通常为待截图应用程序新的功能和新信息的展示界面)的第一界面,需要对为引导界面的第一界面进行第二操作(第二操作用于跳过引导界面,例如,第二操作为横向划动至少3次或点击“跳过”虚拟按键等),以使待截图应用程序的引导界面消失,待截图应用程序进入目标界面,此时的目标界面不包括无用遮挡信息。对为引导界面的第一界面截图时,获得的截图为引导界面对应的截图,截图为无效截图。然而,若对引导界面进行的操作与第二操作不同,则可能会导致待截图应用程序退出,无法继续对待截图应用程序的界面进行截图。

可以理解的是,在该实施例中,显示界面为用户协议界面,发送针对显示界面的第一操作后,显示的是引导界面,发送针对引导界面的第二操作后,才显示目标界面。

基于上一实施例,在另一实施例中,所述在所述第一界面为引导界面时,发送针对所述第一界面的第二操作,以显示所述目标界面的步骤,包括:所述在所述第一界面为引导界面时,发送针对所述第一界面的第二操作,以显示第二界面;在所述第二界面存在兼容性提示信息时,发送针对所述第二界面的第三操作,以显示所述目标界面。即,在对为引导界面的第一界面进行第二操作后,引导界面消失,此时,呈现的即为第二界面。

需要说明的是,待截图应用程序进行针对显示界面的第一操作和针对第一界面的第二操作后,显示第二界面,此时,第二界面中还是可能出现其他类型的无用遮挡信息,即,兼容性提示信息,例如:thisappwasbuiltforanolderversionofandroid等,兼容性提示信息还可以是其他类型的兼容性提示信息,本发明不做限制。当第二界面存在兼容性提示信息时,需要发送第三操作,以使兼容性提示信息消除,获得不包括无用遮挡信息的目标界面。通常第三操作为点击兼容性提示信息中的“确定”或“ok”等虚拟按键按钮。若对兼容性提示信息进行的操作与第三操作不同,则会导致待截图应用程序退出,无法继续对待截图应用程序的界面进行截图。

可以理解的是,在该实施例中,显示界面为用户协议界面,发送针对显示界面的第一操作后,显示的是引导界面,发送针对引导界面的第二操作后,显示的是存在兼容性提示信息的界面,在发送针对存在兼容性提示信息的界面的第三操作后,才显示目标界面。

基于上一实施例,在另一实施例中,所述在所述第二界面存在兼容性提示信息时,发送针对所述第二界面的第三操作,以显示所述目标界面的步骤,包括:在所述第二界面存在兼容性提示信息时,发送针对所述第二界面的第三操作,以显示第三界面;在所述第三界面存在停止运行提示信息时,发送针对所述第三界面的第四操作,以显示所述目标界面。即,在对存在兼容性提示信息的第二界面进行第三操作后,显示的即为第三界面;在对存在停止运行提示信息的第三界面进行第四操作后,显示故障信息展示界面,故障信息展示界面即为目标界面。

可以理解的是,在该实施例中,显示界面为用户协议界面,发送针对显示界面的第一操作后,显示的是引导界面,发送针对引导界面的第二操作后,显示的是存在兼容性提示信息的界面,在发送针对存在兼容性提示信息的界面的第三操作后,显示存在停止运行提示信息的界面,在发送针对存在停止运行提示信息的界面的第四操作后,显示的是目标界面——故障信息展示界面。

在另一实施例中,在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:在所述待截图应用程序的显示界面为引导界面时,发送针对所述显示界面的第二操作,以显示第二界面;在所述第二界面存在兼容性提示信息时,发送针对所述第二界面的第三操作,以显示所述目标界面。

在该实施例中,显示界面为引导界面,发送针对引导界面的第二操作后,显示的是存在兼容性提示信息的界面,在发送针对存在兼容性提示信息的界面的第三操作后,显示的是目标界面。

基于上一实施例,在另一实施例中,显示界面为引导界面,发送针对引导界面的第二操作后,显示的是存在兼容性提示信息的界面,在发送针对存在兼容性提示信息的界面的第三操作后,显示存在停止运行提示信息的界面,在发送针对存在停止运行提示信息的界面的第四操作后,显示的是目标界面——故障信息展示界面。

在另一实施例中,在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面的步骤,包括:在所述待截图应用程序的显示界面存在兼容性提示信息时,发送针对所述显示界面的第三操作,以显示第三界面;在所述第三界面存在停止运行提示信息时,发送针对所述第三界面的第四操作,以显示所述目标界面。

即,在该实施例中,显示界面为存在兼容性提示信息的界面,在发送针对存在兼容性提示信息的界面的第三操作,显示存在停止运行提示信息的界面,在发送针对存在停止运行提示信息的界面的第四操作后,显示的是目标界面——故障信息展示界面。

步骤s13:对所述目标界面进行截图操作,以获得目标截图。

通常,显示不包括无用遮挡信息的目标界面后,直接对目标界面进行截图,获得目标截图。

例如,a应用程序启动时,显示界面为用户协议界面,终端设备自动发送第一操作,用户协议界面消失,a应用程序继续显示第一界面,第一界面为引导界面,此时,终端设备继续发送第二操作,引导界面消失,a应用程序进入主要界面,该主要界面即为所述目标界面,终端设备对主要界面进行截图,以获得所述目标截图。

例如,b应用程序启动时,显示界面为用户协议界面,终端设备自动发送第一操作,用户协议界面消失,b应用程序继续显示第一界面,第一界面为引导界面,此时,终端设备继续发送第二操作,引导界面消失,b应用程序继续显示存在兼容性提示信息的第二界面,此时,终端设备继续发送第三操作,存在兼容性提示信息的第二界面消失,b应用程序进入主要界面,该主要界面即为所述目标界面,终端设备对主要界面进行截图,以获得所述目标截图。

又如,c应用程序启动时,显示界面为用户协议界面,终端设备自动发送第一操作,用户协议界面消失,c应用程序继续显示第一界面,第一界面为引导界面,此时,终端设备继续发送第二操作,引导界面消失,c应用程序继续显示存在兼容性提示信息的第二界面,此时,终端设备继续发送第三操作,存在兼容性提示信息的第二界面消失,c应用程序又显示存在停止运行提示信息的第三界面,此时,c应用程序不能继续运行,无法继续对c应用程序的界面进行截图,此时可以点击对应虚拟按键退出c应用程序。

又如,基于上一例子,存在兼容性提示信息的第二界面消失之后,c应用程序又显示存在停止运行提示信息的第三界面,终端设备继续发送第四操作,c应用程序进入故障信息展示界面,此时故障信息展示界面为所述目标界面,终端设备对故障信息展示界面进行截图,以获得所述目标截图。

进一步的,步骤s13包括:判断历史截图集中是否存在与所述目标界面对应的截图;在所述历史截图集中不存在与所述目标界面对应的截图时,对所述目标界面进行截图操作,获得图像信息;获取所述目标界面的描述信息;基于所述描述信息和所述图像信息,获得所述目标截图。

需要说明的是,目标界面可能是已经经过截图的界面,此时需要判断历史截图集中是否存在该目标界面对应的截图。历史截图集可以是待截图应用程序的界面对应的截图的集合,通常获得一个目标截图后,利用所述目标截图对所述历史截图集进行更新,以获得更新后的历史截图集。

通常,待截图应用程序的目标截图不仅包括各个界面的截图,还包括每个界面的描述信息,描述信息包括界面上各组件的属性信息、界面的层次信息和界面之间的顺序关系等,其中,属性信息可以是指界面中各组件的颜色和形状等信息,层次信息可以是指界面中各组件的层次信息,顺序关系可以是指各界面的先后顺序关系,例如n界面在m界面之前;即,可以理解的是,目标截图的描述信息为所述目标界面上各组件的属性信息、所述目标界面上所述各组件的层次信息和所述目标界面与关联界面之间的顺序关系,其中,所述关联界面为与所述目标界面关联的界面(关联界面可以是目标界面的上一级界面,也可以是目标界面的下一级界面)。可以利用历史截图集中的各截图对应的描述信息,判断目标界面是否已经截图。同时,历史截图集也包括各界面的截图以及各界面的描述信息。

例如,待截图应用程序的首界面设置界面具有声音组件和显示组件,点击声音组件后跳转到声音调节界面,点击显示组件后跳转到显示调节界面。声音调节界面具有通话声音组件和闹钟声音组件,显示调节界面具有亮度组件和色彩组件。历史截图集中存在设置界面的截图、声音组件的属性信息、显示组件的属性信息、声音组件与显示组件的层次信息,还存在声音调节界面截图、通话声音组件的属性信息、闹钟声音组件的属性信息、通话声音组件与闹钟声音组件的层次信息。此时,目标界面为点击显示组件后的显示调节界面,在历史截图集中,不存在显示调节界面的截图、亮度组件的属性信息、色彩组件的属性信息、亮度组件和色彩组件层次信息,所以需要对目标界面(显示调节界面)截图,以获得点击显示组件后界面的截图以及亮度组件的属性信息、色彩组件的属性信息、亮度组件和色彩组件层次信息、设置界面和显示调节界面的先后顺序信息,在该实施例中,目标界面的关联界面为上一级界面——设置界面。

可以理解的是,对目标界面进行截图后,获得图像信息,还需要对目标界面上各组件的属性信息、目标界面的层次信息和目标界面与其他界面之间的顺序关系进行记录,以基于所述描述信息和所述图像信息,获得所述目标截图,目标截图除了包括图像信息,还包括目标界面上各组件的属性信息、目标界面的层次信息和目标界面与其他界面之间的顺序关系,所述描述信息可以是以附加信息的方式存储在图像信息中。通常,一个待截图应用程序对应一个历史截图集。另外,历史截图集中可以包括截图和截图对应的描述信息,待截图应用程序对应的描述信息以单独文件的方式存储在历史截图集中。

在本实施例中,可以通过添加的描述信息,确定描述信息对应的截图是否为已经存在于历史截图集的截图,从而保证历史截图集中的截图均是不同界面对应的截图;即,若一个截图的描述信息与另一个截图的描述信息相同,则该两个截图是相同界面的截图,只需要保留一个截图即可,使得同一个界面只对应一个截图,不会对应多个重复的截图,减少了终端设备资源的浪费,提高了终端设备获得截图的效率。

另外,每一个目标界面截图完成之后,需要继续利用预设测试脚本,对所述待截图应用程序进行交互操作,获得新的界面;通常新的界面不为用户协议界面和引导界面,但是新的界面可能是存在兼容性提示信息的界面、存在停止运行提示信息的界面或不是待截图应用程序的界面,此时,需要按照本发明的方法,将新的界面继续执行上述步骤,直到获得新的目标界面,并对目标界面进行上述步骤s13,获得目标截图。

预设测试脚本可以是基于任何形式的测试软件开发的程序,例如,测试软件可以是针对安卓的uiautomator和espresso软件框架,也可以是针对ios的xcuitest软件框架,还可以是支持多种移动操作系统的appium软件等。预设测试脚本对待截图应用程序进行交互操作可以是点击待截图应用程序的插件,或沿某一方向划动待截图应用程序的界面等。

可以理解的是,对待截图应用程序的截图操作不是无休止的,通常,所述目标截图数量达到预设数量、所述待截图应用程序的全部界面已完成截图或利用所述预设测试脚本对所述待截图应用程序进行交互操作的操作次数达到预设次数,停止对待截图应用程序进行截图。并将利用获得的全部目标截图对历史截图集进行更新,获得更新后的历史截图集。预设次数和预设数量用户可以根据需求设定值,本发明不做限制。

本发明技术方案提出了一种截图获得方法,通过启动待截图应用程序;在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;对所述目标界面进行截图操作,以获得目标截图。利用现有的截图方法进行截图时,当待截图应用程序的显示界面满足预设条件时,获得的截图包含无用遮挡信息,使得截图为无效截图,但是本发明截图获得方法,在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;对所述目标界面进行截图操作,以获得目标截图,目标界面不包括无用遮挡信息,获得的目标截图为有效截图,所以,利用本发明的截图获得方法,获得的目标截图为有效截图。

参照图7,图7为本发明截图获得装置第一实施例的结构框图,装置用于终端设备,所述装置包括:

启动模块10,用于启动待截图应用程序;

发送模块20,用于在所述待截图应用程序的显示界面满足预设条件时,发送针对所述显示界面的确定操作,以显示不包括无用遮挡信息的目标界面;

截图模块30,用于对所述目标界面进行截图操作,以获得目标截图。

以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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