应用的测试方法和装置制造方法及图纸

技术编号:19634913 阅读:22 留言:0更新日期:2018-12-01 15:40
本发明专利技术公开了应用的测试方法和装置。所述方法包括:在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。该技术方案能够通过系统的辅助功能获取到组件,并进一步通过测试配置文件中的组件信息筛选出目标组件,能够实现对有用的组件进行点击等测试,对干扰的组件进行消除,避免了意外事件的干扰,提高了测试效率。

Test methods and devices for application

The invention discloses a test method and a device for application. The method includes: acquiring at least part of the components displayed on the current screen based on the auxiliary function of the system when acquiring the interface change events on the screen; reading component information from the test configuration file, selecting several target components matching the component information from the components; and matching the component information according to the test instructions. Several target components perform corresponding operations to complete the test. The technical scheme can obtain components through the auxiliary functions of the system, and further screen out the target components through the component information in the test configuration file. It can test useful components by clicking, eliminate the interference components, avoid the interference of unexpected events, and improve the test efficiency.

【技术实现步骤摘要】
应用的测试方法和装置
本专利技术涉及应用测试领域,具体涉及应用的测试方法和装置。
技术介绍
应用测试包括多个维度的测试,例如按测试方式可以分为手工测试和自动化测试,按测试目标可以分为功能测试、性能测试等等。以一个自动化测试为例,需要点击应用中的某些组件,但是可能在测试过程中出现广告等弹窗干扰测试,十分不便,影响自动化测试流程。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的应用的测试方法和装置。依据本专利技术的一个方面,提供了一种应用的测试方法,包括:在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。可选地,所述获取在当前屏幕中显示的至少部分组件包括:直接调用系统辅助服务中的指定方法,获取在当前屏幕中显示的至少部分组件。可选地,所述系统为安卓系统,所述直接调用系统辅助服务中的指定方法包括:基于测试框架UiAutomator,调用系统辅助服务Accessibility提供的getUiAutomationBrige()方法。可选地,所述方法还包括:与控制终端建立安卓调试桥ADB连接,通过所述ADB连接接收所述测试指令。可选地,所述从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件包括:从所述测试配置文件中读取出XML格式或JSON格式的组件信息,将读取的组件信息转换为对象集合;遍历所述对象集合,选取出与所述对象集合中的各对象分别匹配的目标组件。可选地,所述目标组件对应于弹窗,所述根据测试指令对所述若干个目标组件执行相应的操作以完成测试包括:消除所述弹窗。可选地,所述根据测试指令对所述若干个目标组件执行相应的操作以完成测试包括:从所述测试指令中解析出方法名和/或参数列表,根据解析结果对所述若干个目标组件执行相应的操作以完成测试。可选地,所述方法由测试构件实现。可选地,所述测试构件为Jar包。依据本专利技术的另一方面,提供了一种应用的测试装置,包括:组件获取单元,适于在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;组件选取单元,适于从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;测试单元,适于根据测试指令对所述若干个目标组件执行相应的操作以完成测试。可选地,所述组件获取单元,适于直接调用系统辅助服务中的指定方法,获取在当前屏幕中显示的至少部分组件。可选地,所述系统为安卓系统,所述组件获取单元,适于基于测试框架UiAutomator,调用系统辅助服务Accessibility提供的getUiAutomationBrige()方法。可选地,所述装置还包括:连接单元,适于与控制终端建立安卓调试桥ADB连接,通过所述ADB连接接收所述测试指令。可选地,所述组件选取单元,适于从所述测试配置文件中读取出XML格式或JSON格式的组件信息,将读取的组件信息转换为对象集合;遍历所述对象集合,选取出与所述对象集合中的各对象分别匹配的目标组件。可选地,所述目标组件对应于弹窗,所述测试单元,适于消除所述弹窗。可选地,所述测试单元,适于从所述测试指令中解析出方法名和/或参数列表,根据解析结果对所述若干个目标组件执行相应的操作以完成测试。可选地,所述装置由测试构件实现。可选地,所述测试构件为Jar包。依据本专利技术的又一方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的方法。依据本专利技术的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的方法。由上述可知,本专利技术的技术方案,在获取到屏幕上的界面变化事件时,获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。该技术方案能够通过系统的辅助功能获取到组件,并进一步通过测试配置文件中的组件信息筛选出目标组件,能够实现对有用的组件进行点击等测试,对干扰的组件进行消除,避免了意外事件的干扰,提高了测试效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种应用的测试方法的流程示意图;图2示出了根据本专利技术一个实施例的一种应用的测试装置的结构示意图;图3示出了根据本专利技术一个实施例的电子设备的结构示意图;图4示出了根据本专利技术一个实施例的计算机可读存储介质的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种应用的测试方法的流程示意图。如图1所示,该方法包括:步骤S110,在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件。界面变化事件可以是应用界面的切换,也可以是展示了推送或广告等等。一般而言,当界面变化时,当前显示的组件也发生了变化,因此在本实施例中将获取组件的时机设置为获取到屏幕上的界面变化事件时,为实现这一点,可以监听获取屏幕上的界面变化事件。步骤S120,从测试配置文件中读取组件信息,从组件中选取出与组件信息匹配的若干个目标组件。测试配置文件可以是预先配置好保存在本地的,也可以是在测试过程中下发或是直接传递其中的内容的,其中保存有组件信息,实际上也就是描述需要对哪些组件进行处理。例如,当前屏幕上显示的应用界面包括多个控件,实际上每个控件可以对应于一个View组件,根据测试需求,可以选择将其中的一些组件作为目标组件。步骤S130,根据测试指令对所述若干个目标组件执行相应的操作以完成测试。可见,图1所示的方法,在获取到屏幕上的界面变化事件时,获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。该技术方案能够通过系统的辅助功能获取到组件,并进一步通过测试配置文件中的组件信息筛选出目标组件,能够实现对有用的组件进行点击等测试,对干扰的组件进行消除,避免了意外事件的干扰,提高了测试效率。在本专利技术的一个实施例中,上述方法中,在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在本文档来自技高网...

【技术保护点】
1.一种应用的测试方法,包括:在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。

【技术特征摘要】
1.一种应用的测试方法,包括:在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;从测试配置文件中读取组件信息,从所述组件中选取出与所述组件信息匹配的若干个目标组件;根据测试指令对所述若干个目标组件执行相应的操作以完成测试。2.如权利要求1所述的方法,其中,所述基于系统的辅助功能获取在当前屏幕中显示的至少部分组件包括:直接调用系统辅助服务中的指定方法,获取在当前屏幕中显示的至少部分组件。3.如权利要求2所述的方法,其中,所述系统为安卓系统,所述直接调用系统辅助服务中的指定方法包括:基于测试框架UiAutomator,调用系统辅助服务Accessibility提供的getUiAutomationBrige()方法。4.如权利要求1所述的方法,其中,所述方法还包括:与控制终端建立安卓调试桥ADB连接,通过所述ADB连接接收所述测试指令。5.一种应用的测试装置,包括:组件获取单元,适于在获取到屏幕上的界面变化事件时,基于系统的辅助功能获取在当前屏幕中显示的至少部分组件;组件选取单元,适于从测试配置...

【专利技术属性】
技术研发人员:王欣
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1