输入事件上报的测试方法、装置、移动终端以及存储介质与流程

文档序号:21318342发布日期:2020-06-30 20:48阅读:156来源:国知局
输入事件上报的测试方法、装置、移动终端以及存储介质与流程

本申请涉及移动终端技术领域,更具体地,涉及一种输入事件上报的测试方法、装置、移动终端以及存储介质。



背景技术:

随着科学技术的发展,移动终端的使用越来越广泛,功能越来越多,已经成为人们日常生活中的必备之一。目前,移动终端在出厂前一般要进行性能测试,然而,目前的性能测试方法存在性能测试不准确的问题。



技术实现要素:

鉴于上述问题,本申请提出了一种输入事件上报的测试方法、装置、移动终端以及存储介质,以解决上述问题。

第一方面,本申请实施例提供了一种输入事件上报的测试方法,应用于移动终端,所述移动终端安装有操作系统,所述方法包括:获取所述操作系统的应用层下发的操作指令;对所述操作指令进行解析,获得所述操作指令对应的测试事件;基于所述测试事件,触发所述操作系统的底层进行输入事件上报。

第二方面,本申请实施例提供了一种输入事件上报的测试装置,应用于移动终端,所述移动终端安装有操作系统,所述方法包括:操作指令获取模块,用于获取所述操作系统的应用层下发的操作指令;测试事件获得模块,用于对所述操作指令进行解析,获得所述操作指令对应的测试事件;输入事件上报触发模块,用于基于所述测试事件,触发所述操作系统的底层进行输入事件上报。

第三方面,本申请实施例提供了一种移动终端,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。

本申请实施例提供的输入事件上报的测试方法、装置、移动终端以及存储介质,获取操作系统的应用层下发的操作指令,对操作指令进行解析,获得操作指令对应的测试事件,基于测试事件,触发操作系统的底层进行输入事件上报,从而通过获取应用层下发的操作指令获得测试事件,以基于测试事件触发底层进行输入事件上报,以解决系统内的性能测试在应用层直接实现不同的应用操作,无法真实还原设备上报的流程,提高软件质量的可靠性和用户体验。

附图说明

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

图1示出了本申请实施例用于执行根据本申请实施例的输入事件上报的测试方法的移动终端的框图;

图2示出了本申请实施例提供的移动终端的一种操作系统的框图;

图3示出了本申请实施例提供的移动终端的另一种操作系统的框图;

图4示出了本申请一个实施例提供的输入事件上报的测试方法的流程示意图;

图5示出了本申请实施例提供的底层上报事件的流程示意图;

图6示出了本申请又一个实施例提供的输入事件上报的测试方法的流程示意图;

图7示出了本申请实施例提供的应用层触发底层上报事件的流程示意图;

图8示出了本申请再一个实施例提供的输入事件上报的测试方法的流程示意图;

图9示出了本申请另一个实施例提供的输入事件上报的测试方法的流程示意图;

图10示出了本申请又再一个实施例提供的输入事件上报的测试方法的流程示意图;

图11示出了本申请实施例提供的输入事件上报的测试装置的模块框图;

图12示出了本申请实施例的用于保存或者携带实现根据本申请实施例的输入事件上报的测试方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

目前,终端厂商在移动终端出厂前为了更好的优化终端设备,通常需要进行大量的自动化性能测试。其中,移动终端可以通过实际的物理器件,比如电源键、音量键、触摸显示屏等外部设备作为真实的硬件设备触发上报事件给移动终端的应用系统,实现不同操作的性能测试,一般地,可以通过机械手等外部设备自动化点击物理器件实现性能测试,在缺少机械手等外部设备的时候,可以通过系统内预置应用的方式进行自动化压力测试,其中,在通过系统内预置应用的方式进行自动化压力测试时,其在应用层直接实现不同的应用操作,而不是还原由物理器件触发的由底层到应用层的上报流程,由于这种方法无法还原真实的物理器件的操作,从而无法触发这些物理器件真实的上报流程,降低了上报流程的准确性和真实性。

针对上述问题,发明人经过长期的研究发现,并提出了本申请实施例提供的输入事件上报的测试方法、装置、移动终端以及存储介质,通过获取应用层下发的操作指令获得测试事件,以基于测试事件触发底层进行输入事件上报,以解决系统内的性能测试在应用层直接实现不同的应用操作,无法真实还原设备上报的流程,提高软件质量的可靠性和用户体验。其中,具体的输入事件上报的测试方法在后续的实施例中进行详细的说明。

请参阅图1,其示出了本申请实施例提供的一种移动终端100的结构框图。该移动终端100可以是智能手机、平板电脑、电子书等安装有操作系统的移动终端。本申请中的移动终端100可以包括一个或多个如下部件:处理器110、存储器120、触摸显示屏130、物理按键140以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个移动终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图形处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

触摸显示屏130用于显示由用户输入的信息、提供给用户的信息以及所述电子设备100的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、数字、视频和其任意组合来构成,在一个实例中,该触摸显示屏130可以为液晶显示器(liquidcrystaldisplay,lcd),也可以为有机发光二极管(organiclight-emittingdiode,oled),在此不做限定。

物理按键140可以包括音量按键、电源按键、指纹按键等,在此不做限定。

以操作系统为安卓(android)系统为例,存储器120中存储的程序和数据如图2所示,存储器120中存储有linux内核层220、系统运行库层240、应用框架层260和应用层280。linux内核层220为移动终端100的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理等。系统运行库层240通过一些c/c++库来为android系统提供了主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。在系统运行库层240中还提供有安卓运行时库(androidruntime),它主要提供了一些核心库,能够允许开发者使用java语言来编写android应用。应用框架层260提供了构建应用程序时可能用到的各种api,开发者也可以通过使用这些api来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层280中运行有至少一个应用程序,这些应用程序可以是操作系统自带的联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如即时通信程序、相片美化程序等。

以操作系统为ios系统为例,存储器120中存储的程序和数据如图3所示,ios系统包括:核心操作系统层320(coreoslayer)、核心服务层340(coreserviceslayer)、媒体层360(medialayer)、可触摸层380(cocoatouchlayer)。核心操作系统层320包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层340的程序框架所使用。核心服务层340提供给应用程序所需要的系统服务和/或程序框架,比如基础(foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层360为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(airplay)接口等。可触摸层380为应用程序开发提供了各种常用的界面相关的框架,可触摸层380负责用户在移动终端100上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(userinterface,ui)框架、用户界面uikit框架、地图框架等等。

在图3所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层340中的基础框架和可触摸层380中的uikit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和ui无关。而uikit框架提供的类是基础的ui类库,用于创建基于触摸的用户界面,ios应用程序可以基于uikit框架来提供ui,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

请参阅图4,图4示出了本申请一个实施例提供的输入事件上报的测试方法的流程示意图。所述输入事件上报的测试方法用于通过获取应用层下发的操作指令获得测试事件,以基于测试事件触发底层进行输入事件上报,以解决系统内的性能测试在应用层直接实现不同的应用操作,无法真实还原设备上报的流程,提高软件质量的可靠性和用户体验。在具体的实施例中,所述输入事件上报的测试方法应用于如图11所示的输入事件上报的测试装置400以及配置有输入事件上报的测试装置400的移动终端100(图1)。下面将以移动终端为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的移动终端可以为智能手机、平板电脑、穿戴式电子设备等安装有操作系统的电子设备,在此不做限定。下面将针对图4所示的流程进行详细的阐述,所述输入事件上报的测试方法具体可以包括以下步骤:

步骤s110:获取所述操作系统的应用层下发的操作指令。

在本实施例中,可以获取操作系统的应用层下发的操作指令。其中,作为一种方式,应用层的操作指令可以预先设置并存储在移动终端本地,并在进行输入事件上报的测试时向操作系统的底层下发;作为另一种方式,应用层的操作指令可以预先设置并存储在服务器,并在进行输入事件上报的测试时通过服务器向移动终端的操作系统的应用层发送操作指令,并由操作系统的应用层向操作系统的底层下发。

在一些实施方式中,操作系统的应用层下发的操作指令可以包括但不限于:开机、关机、解锁屏幕、锁屏、播放音乐、增大音量、减小音量、拍照等。

在一些实施方式中,在进行输入事件上报的测试时,操作系统的应用层可以实时下发操作指令,可以按预设时间间隔下发操作指令,可以按预设时间下发操作指令,可以基于触发操作下发操作指令,也可以基于其他预设方式下发操作指令等,在此不做限定。

在一些实施方式中,操作系统的应用层每次下发的操作指令可以相同,也可以不相同,例如,操作系统的应用层每次下发的操作指令可以均为开机、可以均为关机、可以均为锁屏等,又例如,操作系统的应用层每次下发的操作指令可以为开机、关机、解锁屏幕、锁屏、播放音乐、增大音量、减小音量、拍照等的循环,在此不做限定。

在一些实施方式中,在进行输入事件上报的测试时,可以设置操作系统的应用层下发的操作指令的次数,例如,在进行输入事件上报时,可以设置操作系统的应用层下发的相同的操作指令的次数为预设次数,例如,设置操作系统的应用层下发的开机次数为第一预设次数,设置操作系统的应用层下发的锁屏次数为第二预设次数等,在此不做限定。其中,在进行输入事件上报的测试时,可以设置操作系统的应用层在预设时间内下发的操作指令的次数,例如,在进行输入事件上报时,可以设置操作系统的应用层在预设时间内下发的相同的操作指令的次数为预设次数,例如,设置操作系统的应用层在预设时间内下发的开机次数为第一预设次数,设置操作系统的应用层在预设时间内下发的锁屏次数为第二预设次数等,在此不做限定。

步骤s120:对所述操作指令进行解析,获得所述操作指令对应的测试事件。

在一些实施方式中,操作系统的底层在接收到应用层下发的操作指令后,可以对操作指令进行解析,以获得该操作指令对应的测试事件。其中,操作系统可以预先注册模拟input处理驱动程序,相应地,操作系统的底层在接收到应用层下发的操作指令后,可以通过模拟input处理驱动程序对操作指令进行解析,以获得该操作指令对应的测试事件。

在一些实施方式中,操作系统的应用层下发的操作指令可以按预设格式进行设置,即操作指令的应用层下发的操作指令可以为预设格式,那么,操作系统的底层在接收到应用层下发的预设格式的操作指令时,可以对预设格式进行解析,以获得该预设格式对应的操作指令对应的测试事件。其中,作为一种方式,操作系统的应用层下发的不同操作指令可以对应不同的预设格式,例如,当操作系统的应用层下发的操作指令为开机时,可以对应第一预设格式,当操作系统的应用层下发的操作指令为锁屏时,可以对应第二预设格式,在此不做限定。其中,预设格式可以为根据数字或字符的组合的命令格式。

在一些实施方式中,对操作指令进行解析获得的操作指令对应的测试事件可以包括:事件类型、针对事件类型的事件动作、针对事件动作的动作时长、针对事件动作的动作距离等,在此不做限定。其中,事件类型可以包括物理按键事件类型或触摸显示屏事件类型。其中,针对事件类型的事件动作可以包括:作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作。其中,针对事件动作的动作时长可以包括:作用于物理按键上的按压时长,或作用于触摸显示屏上的点击时长或滑动时长。其中,针对事件动作的动作距离可以包括:作用于物理按键上的按压距离,或作用于触摸显示屏上的点击记录或滑动距离。

步骤s130:基于所述测试事件,触发所述操作系统的底层进行输入事件上报。

在本实施例中,在获得操作指令对应的测试事件时,可以基于该测试事件触发操作系统的底层进行输入事件上报。在一些实施方式中,在通过模拟input处理驱动程序对操作指令进行解析,获得操作指令对应的测试事件时,可以再通过模拟input事件触发操作系统的底层进行输入事件上报。例如,当测试事件为作用于物理按键上的按压动作时,则可以通过模拟input处理驱动程序触发操作系统的底层进行物理按键按压事件的上报,当测试事件为作用于触摸显示屏上的滑动动作时,则可以通过模拟input处理驱动程序触发操作系统的底层进行触摸显示屏的滑动事件的上报。

在一些实施方式中,如图5所示,以操作系统为安卓系统为例,操作系统的底层在基于测试事件进行输入事件的上报时,是通过触发底层input事件,经过inputcode核心层的处理,上报安卓子系统的eventhub层,之后安卓系统input的应用层接收该输入事件的上报,并根据输入事件的上报实现不同的操作,从而还原真实的上报流程。

例如,当应用层下发的操作指令为“关机”时,则对操作指令进行解析得到的操作指令对应的测试事件可以为“作用于电源键上的按压动作超过5秒”,那么,模拟input处理驱动程序可以基于测试事件“作用于电源键上的按压动作超过5秒”触发操作系统的底层进行输入事件的上报,则模拟input处理驱动程序基于“作用于电源键上的按压动作超过5秒”触发底层input事件,经过inputcode核心层的处理,上报安卓子系统的eventhub层,之后安卓系统input的应用层接收该输入事件的上报,并根据输入事件的上报关机,从而还原真实的上报流程。

例如,当应用层下发的操作指令为“解锁”时,则对操作指令进行解析得到的操作指令对应的测试事件可以为“作用于触摸显示屏上的滑动距离为预设距离”,那么,模拟input处理驱动程序可以基于测试事件“作用于触摸显示屏上的滑动距离为预设距离”触发操作系统的底层进行输入事件的上报,则模拟input处理驱动程序基于“作用于触摸显示屏上的滑动距离为预设距离”触发底层input事件,经过inputcode核心层的处理,上报安卓子系统的eventhub层,之后安卓系统input的应用层接收该输入事件的上报,并根据输入事件的上报解锁,从而还原真实的上报流程。

本申请一个实施例提供的输入事件上报的测试方法,获取操作系统的应用层下发的操作指令,对操作指令进行解析,获得操作指令对应的测试事件,基于测试事件,触发操作系统的底层进行输入事件上报,从而通过获取应用层下发的操作指令获得测试事件,以基于测试事件触发底层进行输入事件上报,以解决系统内的性能测试在应用层直接实现不同的应用操作,无法真实还原设备上报的流程,提高软件质量的可靠性和用户体验。

请参阅图6,图6示出了本申请又一个实施例提供的输入事件上报的测试方法的流程示意图。该方法应用于上述移动终端,移动终端安装有操作系统,下面将针对图6所示的流程进行详细的阐述,所述输入事件上报的测试方法具体可以包括以下步骤:

步骤s210:监听所述操作系统的应用层的测试场景。

在一些实施方式中,可以预先设置多个用于操作系统的应用层的测试场景,且多个用于操作系统的应用层的测试场景可以设置完成后存储在移动终端本地,也可以在设置完成后存储在与移动终端通信连接的服务器。其中,当用于操作系统的应用层的测试场景存储在移动终端本地,并在进行输入事件上报的测试时,移动终端可以直接从本地读取用于操作系统的应用层的测试场景,当用于操作系统的应用层的测试场景存储在于移动终端通信连接的服务器,并在进行输入事件上报的测试时,移动终端可以从服务器获取用于操作系统的应用层的测试场景,在此不做限定。

在一些方式方式中,用于操作系统的应用层的测试场景可以包括:视频播放场景、解锁场景、锁屏场景、开机场景、关机场景、拍照场景、音乐播放场景等,在此不做限定。

作为一种方式,移动终端可以随机应用操作系统的应用层的测试场景,并对所应用的测试场景进行监听,例如,移动终端可以从视频播放场景、解锁场景、锁屏场景、开机场景、关机场景、拍照场景、音乐播放场景等测试场景中随机选择作为应用层的测试场景。作为又一种方式,移动终端可以依序应用操作系统的应用层的测试场景,并对所应用的测试场景进行监听,例如,移动终端可以从视频播放场景、解锁场景、锁屏场景、开机场景、关机场景、拍照场景、音乐播放场景等测试场景中依序选择作为应用层的测试场景。作为再一种方式,移动终端可以在预设时间内重复应用操作系统的应用层的测试场景,并对所应用的测试场景进行监听,例如,移动终端可以在预设时间内从视频播放场景、解锁场景、锁屏场景、开机场景、关机场景、拍照场景、音乐播放场景等测试场景中重复选择某个测试场景作为应用层的测试场景。

步骤s220:获取所述操作系统的应用层基于所述测试场景生成并下发的操作指令。

在一些实施方式中,在监听到操作系统的应用层的测试场景后,可以获取该操作系统的应用层基于该测试场景生成并下发的操作指令。例如,当监听到操作系统的应用层的测试场景为“拍照场景”时,可以基于该测试场景生成操作指令“开机、解锁、进入拍照应用”。

步骤s230:对所述操作指令进行解析,获得所述操作指令对应的事件类型,其中,所述事件类型包括物理按键事件类型或触摸显示屏事件类型。

在一些实施方式中,操作系统的底层在接收到应用层下发的操作指令后,可以对操作指令进行解析,以获得该操作指令对应的事件类型,其中,该事件类型可以包括物理按键事件类型或触摸显示屏事件类型,物理按键事件类型可以包括:电源键事件类型、音量键事件类型、指纹键事件类型等,在此不做限定。

在一些实施方式中,如图7所示,以操作系统为安卓系统为例,操作系统内可以预先注册linux底层文件节点,其中,linux底层文件节点主要注册两种事件类型,即物理按键事件类型和触摸显示屏事件类型,从而可以将操作指令下发至linux底层文件节点,以获得该操作指令对应的事件类型,并通过模拟input处理驱动程序进行上报事件的触发。

步骤s240:基于所述测试事件和预设上报频率,触发所述操作系统的底层进行输入事件上报。

在一些实施方式中,操作系统内可以预先注册可变周期的定时器,基于预先注册的可变周期的定时器可以设置测试事件的上报频率作为预设上报频率。因此,在本实施例中,在获得操作指令对应的测试事件时,可以获取通过可变周期的定时器设置的预设上报频率,并基于测试事件和预设上报频率,触发操作系统的底层进行输入事件的上报。例如,当可变周期的定时器设置的预设上报频率为每1分钟上报一次测试事件时,则在获得操作指令对应的测试事件时,可以每间隔1分钟触发操作系统的底层进行输入事件上报。

本申请又一个实施例提供的输入事件上报的测试方法,监听操作系统的应用层的测试场景,获取操作系统的应用层基于测试场景生成并下发的操作指令,对操作指令进行解析,获得操作指令对应的事件类型,其中,事件类型包括物理按键事件类型和触摸显示屏事件类型,基于测试事件和预设上报频率,触发操作系统的底层进行输入事件上报。相较于图4所示的输入事件上报的测试方法,本实施例还基于应用层的测试场景生成并下发操作指令,以提升操作指令的准确性和合理性。另外,本实施例还获得操作指令对应的事件类型,以准确还原物理器件的上报。

请参阅图8,图8示出了本申请再一个实施例提供的输入事件上报的测试方法的流程示意图。该方法应用于上述移动终端,移动终端安装有操作系统,下面将针对图8所示的流程进行详细的阐述,所述输入事件上报的测试方法具体可以包括以下步骤:

步骤s310:监听所述操作系统的应用层的测试场景。

步骤s320:获取所述操作系统的应用层基于所述测试场景生成并下发的操作指令。

其中,步骤s310-步骤s320的具体描述请参阅步骤s210-步骤s220,在此不再赘述。

步骤s330:对所述操作指令进行解析,获得所述操作指令对应的事件类型和针对所述事件类型的事件动作,其中,所述事件动作包括作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作。

在一些实施方式中,操作系统的底层在接收到应用层下发的操作指令后,可以对操作指令进行解析,以获得该操作指令对应的事件类型和针对该事件类型的事件动作,其中,该事件类型可以包括物理按键事件类型或触摸显示屏事件类型,物理按键事件类型可以包括:电源键事件类型、音量键事件类型、指纹键事件类型等,在此不做限定,该事件动作可以包括作用于物理按键上的按压动作或抬起动作,或用于触摸显示屏上的点击动作或滑动动作。

步骤s340:基于所述测试事件和预设上报频率,触发所述操作系统的底层进行输入事件上报。

其中,步骤s340的具体描述请参阅步骤s240,在此不再赘述。

本申请再一个实施例提供的输入事件上报的测试方法,监听操作系统的应用层的测试场景,获取操作系统的应用层基于测试场景生成并下发的操作指令,对操作指令进行解析,获得操作指令对应的事件类型和针对事件类型的事件动作,其中,事件类型包括物理按键事件类型和触摸显示屏事件类型,事件动作包括作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作,基于测试事件和预设上报频率,触发操作系统的底层进行输入事件上报。相较于图4所示的输入事件上报的测试方法,本实施例还基于应用层的测试场景生成并下发操作指令,以提升操作指令的准确性和合理性。另外,本实施例还获得操作指令对应的事件类型和针对事件类型的事件动作,以准确还原物理器件的上报。

请参阅图9,图9示出了本申请另一个实施例提供的输入事件上报的测试方法的流程示意图。该方法应用于上述移动终端,移动终端安装有操作系统,下面将针对图9所示的流程进行详细的阐述,所述输入事件上报的测试方法具体可以包括以下步骤:

步骤s410:监听所述操作系统的应用层的测试场景。

步骤s420:获取所述操作系统的应用层基于所述测试场景生成并下发的操作指令。

其中,步骤s410-步骤s420的具体描述请参阅步骤s210-步骤s220,在此不再赘述。

步骤s430:对所述操作指令进行解析,获得所述操作指令对应的事件类型、针对所述事件类型的事件动作以及针对所述事件动作的操作时长,其中,所述操作时长包括作用于物理按键上的按压时长,或作用于触摸显示屏上的点击时长或滑动时长。

在一些实施方式中,操作系统的底层在接收到应用层下发的操作指令后,可以对操作指令进行解析,以获得该操作指令对应的事件类型、针对该事件类型的事件动作以及针对事件动作的操作时长,其中,该事件类型可以包括物理按键事件类型或触摸显示屏事件类型,物理按键事件类型可以包括:电源键事件类型、音量键事件类型、指纹键事件类型等,在此不做限定,该事件动作可以包括作用于物理按键上的按压动作或抬起动作,或用于触摸显示屏上的点击动作或滑动动作,该操作时长包括作用于物理按键上的按压时长,或作用于触摸显示屏上的点击时长或滑动时长,其中,按压时长可以500ms,点击时长可以为500ms,滑动时长可以为1s。

步骤s440:基于所述测试事件和预设上报频率,触发所述操作系统的底层进行输入事件上报。

其中,步骤s440的具体描述请参阅步骤s240,在此不再赘述。

本申请另一个实施例提供的输入事件上报的测试方法,监听操作系统的应用层的测试场景,获取操作系统的应用层基于测试场景生成并下发的操作指令,对操作指令进行解析,获得操作指令对应的事件类型、针对事件类型的事件动作以及针对事件动作的操作时长,其中,事件类型包括物理按键事件类型和触摸显示屏事件类型,事件动作包括作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作,操作时长包括作用于物理按键上的按压时长,或作用于触摸显示屏上的点击时长或滑动时长,基于测试事件和预设上报频率,触发操作系统的底层进行输入事件上报。相较于图4所示的输入事件上报的测试方法,本实施例还基于应用层的测试场景生成并下发操作指令,以提升操作指令的准确性和合理性。另外,本实施例还获得操作指令对应的事件类型、针对事件类型的事件动作以及针对事件动作的操作时长,以准确还原物理器件的上报。

请参阅图10,图10示出了本申请又再一个实施例提供的输入事件上报的测试方法的流程示意图。该方法应用于上述移动终端,移动终端安装有操作系统,下面将针对图10所示的流程进行详细的阐述,所述输入事件上报的测试方法具体可以包括以下步骤:

步骤s510:监听所述操作系统的应用层的测试场景。

步骤s520:获取所述操作系统的应用层基于所述测试场景生成并下发的操作指令。

其中,步骤s410-步骤s420的具体描述请参阅步骤s210-步骤s220,在此不再赘述。

步骤s530:对所述操作指令进行解析,获得所述操作指令对应的事件类型、针对所述事件类型的事件动作以及针对所述事件动作的操作距离,其中,所述操作距离包括作用于物理按键上的按压距离,或作用于触摸显示屏上的点击距离或滑动距离。

在一些实施方式中,操作系统的底层在接收到应用层下发的操作指令后,可以对操作指令进行解析,以获得该操作指令对应的事件类型、针对该事件类型的事件动作以及针对事件动作的操作距离,其中,该事件类型可以包括物理按键事件类型或触摸显示屏事件类型,物理按键事件类型可以包括:电源键事件类型、音量键事件类型、指纹键事件类型等,在此不做限定,该事件动作可以包括作用于物理按键上的按压动作或抬起动作,或用于触摸显示屏上的点击动作或滑动动作,该操作距离包括作用于物理按键上的按压距离,或作用于触摸显示屏上的点击距离或滑动距离,其中,按压距离可以为0,点击距离可以为0,滑动距离可以为从x1y1到x100y100的距离。

步骤s540:基于所述测试事件和预设上报频率,触发所述操作系统的底层进行输入事件上报。

其中,步骤s540的具体描述请参阅步骤s240,在此不再赘述。

本申请又再一个实施例提供的输入事件上报的测试方法,监听操作系统的应用层的测试场景,获取操作系统的应用层基于测试场景生成并下发的操作指令,对操作指令进行解析,获得操作指令对应的事件类型、针对事件类型的事件动作以及针对事件动作的操作距离,其中,事件类型包括物理按键事件类型和触摸显示屏事件类型,事件动作包括作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作,操作距离包括作用于物理按键上的按压距离,或作用于触摸显示屏上的点击距离或滑动距离,基于测试事件和预设上报频率,触发操作系统的底层进行输入事件上报。相较于图4所示的输入事件上报的测试方法,本实施例还基于应用层的测试场景生成并下发操作指令,以提升操作指令的准确性和合理性。另外,本实施例还获得操作指令对应的事件类型、针对事件类型的事件动作以及针对事件动作的操作距离,以准确还原物理器件的上报。

请参阅图11,图11示出了本申请实施例提供的输入事件上报的测试装置400的模块框图。所述输入事件上报的测试装置400应用于上述移动终端,移动装置安装有操作系统,下面将针对图11所示的框图进行阐述,所述输入事件上报的测试装置400包括:操作指令获取模块410、测试事件获得模块420以及输入事件上报触发模块430,其中:

操作指令获取模块410,用于获取所述操作系统的应用层下发的操作指令。

进一步地,所述操作指令获取模块410包括:测试场景监听子模块和操作指令获取子模块,其中:

测试场景监听子模块,用于监听所述操作系统的应用层的测试场景。

操作指令获取子模块,用于获取所述操作系统的应用层基于所述测试场景生成并下发的操作指令。

测试事件获得模块420,用于对所述操作指令进行解析,获得所述操作指令对应的测试事件。

进一步地,所述测试事件获得模块420包括:事件类型获得子模块,其中:

事件类型获得子模块,用于对所述操作指令进行解析,获得所述操作指令对应的事件类型,其中,所述事件类型包括物理按键事件类型或触摸显示屏事件类型。

进一步地,所述事件类型获得子模块包括:事件动作获得单元,用于

事件动作获得单元,用于对所述操作指令进行解析,获得所述事件类型和针对所述事件类型的事件动作,其中,所述事件动作包括作用于物理按键上的按压动作或抬起动作,或作用于触摸显示屏上的点击动作或滑动动作。

进一步地,所述事件动作获得单元包括:操作时长获得子单元,其中:

操作时长获得子模块,用于对所述操作指令进行解析,获得所述事件动作的操作时长,其中,所述操作时长包括作用于物理按键上的按压时长,或作用于触摸显示屏上的点击时长或滑动时长。

进一步地,所述事件动作获得单元包括:操作距离获得子单元,其中:

操作距离获得子单元,用于对所述操作指令进行解析,获得所述事件动作的操作距离,其中,所述操作距离包括作用于物理按键上的按压距离,或作用于触摸显示屏上的点击距离或滑动距离。

输入事件上报触发模块430,用于基于所述测试事件,触发所述操作系统的底层进行输入事件上报。

进一步地,所述输入事件上报触发模块430包括:输入事件上报触发子模块,其中:

输入事件上报触发子模块,用于基于所述测试事件和预设上报频率,触发所述操作系统的底层进行输入事件上报。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参阅图12,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质500可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质500包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以例如以适当形式进行压缩。

综上所述,本申请实施例提供的输入事件上报的测试方法、装置、移动终端以及存储介质,获取操作系统的应用层下发的操作指令,对操作指令进行解析,获得操作指令对应的测试事件,基于测试事件,触发操作系统的底层进行输入事件上报,从而通过获取应用层下发的操作指令获得测试事件,以基于测试事件触发底层进行输入事件上报,以解决系统内的性能测试在应用层直接实现不同的应用操作,无法真实还原设备上报的流程,提高软件质量的可靠性和用户体验。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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