一种应用测试方法和装置的制造方法

文档序号:9564523阅读:198来源:国知局
一种应用测试方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种应用测试方法和装置。
【背景技术】
[0002]随着电子终端新技术的不断涌现,基于业务应用层面开发和测试比重的增加,复杂度的不断提高以及基于电子终端的应用服务的快速融合,使得电子终端上运行的应用程序也越来越多,针对电子终端上的应用程序测试的需求也应运而生。现有技术中存在多种可以自动对电子终端上的应用程序进行测试的方式,但是在对某一应用程序进行测试的同时,不能实现调用其他进程参与测试,例如在即时通讯进程在使用过程中经常需要调用网页浏览器、终端相册等其他进程,但是现有测试方式均无法对该跨进程调用的功能进行模拟测试。

【发明内容】

[0003]有鉴于此,本发明实施例提供一种应用测试方法和装置,可实现跨进程的应用模拟测试。
[0004]为了解决上述技术问题,本发明实施例提供了一种应用测试方法,所述方法包括:
[0005]获取应用测试命令,所述应用测试命令包括模拟动作指令和对应的目标应用的元素标识;
[0006]在当前界面中查找所述元素标识对应的控件元素,并获取所述控件元素的位置信息;
[0007]根据所述控件元素的位置信息,通过injectKeyEvent对象或input命令向所述控件元素发送模拟动作事件。
[0008]相应地,本发明实施例还提供了一种应用测试装置,所述应用测试装置包括:
[0009]测试命令获取模块,用于获取应用测试命令,所述应用测试命令包括模拟动作指令和对应的目标应用的元素标识;
[0010]元素位置获取模块,用于在当前界面中查找所述元素标识对应的控件元素,并获取所述控件元素的位置信息;
[0011]动作模拟模块,用于根据所述控件元素的位置信息,通过injectKeyEvent对象或input命令向所述控件元素发送模拟动作事件。
[0012]本发明实施例中的移动终端可以通过获取到的应用测试命令,通过injectKeyEvent对象或input命令向所述目标控件元素发送模拟动作事件,由于injectKeyEvent对象或input命令的事件传递特性,使得能够实现跨进程的应用模拟测试。
【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是本发明实施例中的一种应用测试方法的流程示意图;
[0015]图2是本发明实施例中获取应用测试命令的方式流程示意图;
[0016]图3是本发明另一实施例中的一种应用测试方法的流程示意图;
[0017]图4是本发明另一实施例中的一种应用测试方法的流程示意图;
[0018]图5是本发明实施例中的一种应用测试装置的结构示意图;
[0019]图6是本发明实施例中应用测试装置的测试命令获取模块的结构示意图。
【具体实施方式】
[0020]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]图1是本发明实施例中的一种应用测试方法的流程示意图,本发明实施例中的应用测试方法可以实现在如手机、智能手机、平板电脑、电子阅读器、车载终端或便携式穿戴设备等移动终端中,由移动终端中的应用测试装置实现,如图所示本实施例中的应用测试方法可以包括:
[0022]S101,获取应用测试命令,所述应用测试命令包括模拟动作指令和对应的目标应用的元素标识。
[0023]具体的,所述模拟动作指令可以为模拟点击指令、模拟长按指令、模拟滑屏指令等,所述目标应用的元素标识可以为预先设定的模拟点击指令的点击对象,例如目标应用的指定控件的名称、控件ID(IDentity)或其他用以识别该控件的标识信息,所述元素标识还可以包括目标应用的应用标识,用以区分不同应用的对应于同一应用标识的控件元素。在可选实施例中,所述应用测试命令还可以包括启动指令和对应的目标应用的应用标识,用于执行启动目标应用,还可以包括校验指令和对应的校验对象标识,用于对应用测试执行结果进行校验。
[0024]S102,在当前界面中查找所述元素标识对应的控件元素,并获取所述控件元素的位置信息。
[0025]具体的,应用测试装置可以根据所述元素标识,遍历当前系统界面中所有的控件元素,查找得到所述元素标识对应的控件元素,如根据元素标识“菜单”查找得到菜单控件、根据元素标识“个人中心”查找得到个人中心控件,进而获取与所述元素标识对应的控件元素的控件信息,包括所述控件元素的位置信息,所述位置信息可以为所述控件元素在移动终端显示界面上的显示位置坐标,如可以用X轴坐标和y轴坐标表示对应控件元素的所在界面位置。在可选实施例中,可以通过使用hierarchyviewer.bat工具,即可获取当前界面中各个元素控件的坐标值。
[0026]S103,根据所述控件元素的位置信息,通过injectKeyEvent对象或input命令向所述控件元素发送模拟动作事件,该控件元素接收到该模拟点击事件后,可以根据该模拟点击事件作出响应,例如点击菜单控件,则可以弹出菜单选项。
[0027]具体的,injectKeyEvent (键入事件)对象可以例如IwindowManager提供的IffindowManager.1njectKeyEvent,应用测试装置可以通过向injectKeyEvent对象注入模拟动作指令和所述控件元素的位置信息,以使所述injectKeyEvent对象向所述控件元素发送模拟动作事件。在可选实施例中,应用测试装置可以通过执行su命令行,将模拟动作指令和所述控件元素的位置信息传递给预设的代理进程Agent, jar ;使得所述代理进程Agent, jar向injectKeyEvent对象注入模拟动作指令和所述控件元素的位置信息,从而向所述控件元素发送模拟动作事件。
[0028]而通过input命令向所述控件元素发送模拟动作事件,可以例如执行inputtap x y,其中x和y分别为根据所述控件元素的位置信息确定得到的界面坐标,即可实现向S102中查找到的控件元素发送模拟点击事件。在可选实施例中,还可以通过input text〈String>命令向当前界面中的可输入区域输入文本信息,还可以通过inputX,y, down、input x, y, move、以及input x, y, up的组合命令来实现模拟滑动事件。
[0029]进而在可选实施例中,应用测试装置可以获取移动终端当前的操作系统版本信息,若操作系统为不低于4.0.3版本的Android系统,则通过input命令向所述控件元素发送模拟动作事件;若操作系统为高于4.0.3版本的Android系统,则通过injectKeyEvent对象向所述控件元素发送模拟动作事件。
[0030]本发明结合图1所描述的应用测试方法实施例中,移动终端可以通过获取到的应用测试命令,通过injectKeyEvent对象或input命令向所述目标控件元素发送模拟动作事件,由于injectKeyEvent对象或input命令的事件传递特性,使得能够实现跨进程的应用模拟测试。
[0031]在可选实施例中,移动终端执行S101获取所述应用测试命令的方法可以如图2所示,进一步包括以下步骤:
[0032]S201,获取应用测试脚本。所述应用测试脚本可以为测试人员预先编写得到的,包括根据预定的测试流程设置的多个应用测试命令及其相关参数、对象等。
[0033]S202,根据预设的关键词配置信息在所述应用测试脚本中查找测试指令关键词。所述关键词配置信息用以在所述应用测试脚本中识别出所述应用测试命令,可以预先配置保存在移动终端中的指定目录下,如存放在SD (Secure Digital,安全数码)卡根目录下。
[0034]S203,根据在所述应用测试脚本中查找到的指令关键词,获取所述应用测试命令。
[0035]例如关键词配置信息中,开启目标应用的应用测试命令对应的关键词可以为“打开”,当在应用测试脚本中查找得到关键词“打开”,则可以获取到开启目标应用的应用测试命令,又如点击目标控件的应用测试命令对应的关键词可以为“点击”,当在应用测试脚本中查找得到关键词“点击”,则可以获取到点击目标控件的应用测试命令。进而查找到应用测试命令对应的关键词后,可以在查找到的关键词后续字符中获取应用测试命令的测试对象,包括应用标识、元素标识、屏幕位置坐标等,在可选实施例中测试对象可以用〈> 符号进行标识以便识别获取,如根据“点击〈菜单 >”得到的应用测试命令可以为点击当前界面中元素标识“菜单”对应的控件元素,又如根据“打开〈Photo album〉”得到的应用测试命令可以为打开相册应用。
[0036]图3是本发明另一实施例中的一种应用测试方法的流程示意图,如图所示本实施例中的应用测试方法流程可以包括:
[0037]S301,获取启动指令和对应的目标应用的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1