一种自动化测试弹框处理方法及终端与流程

文档序号:15850774发布日期:2018-11-07 09:52阅读:419来源:国知局
一种自动化测试弹框处理方法及终端与流程

本发明涉及移动测试技术领域,尤其涉及一种自动化测试弹框处理方法及终端。

背景技术

appium框架是一种用于对应用程序进行ui测试的自动化测试框架,适用于android平台及ios平台。在现有技术中,appium框架根据自动化测试脚本的内容,向待测设备发送测试指令,设备遍历当前应用ui的页面元素,构建ui对应的元素树,进而基于该元素树执行测试指令指示的测试操作。

然而实际测试过程中,应用程序在运行过程中可能会出现各种权限请求弹框,且弹框出现的时机无法预知。当前手机市场的android手机有上千种,不同厂商或系统的android设备弹框的样式也不尽相同。导致的结果是编写appium自动化测试脚本在各种设备上执行,会因为弹框的遮盖导致脚本定位不到正确的元素,而执行失败;为了保证自动化测试脚本的健壮性和稳定性,需要对这些弹框进行处理。

针对上述问题,目前由以下两种解决方案:

其一,在测试脚本中可能会对弹框出现的位置增加对应的弹窗处理代码,代码会判断弹框出现,如果出现弹框则自动关闭,如果没有则等待直到超时。这种方式的缺点是所有测试脚本都要增加处理代码,使脚本编写和维护变得繁琐,同时需要在脚本中进行弹框的分析和等待直到超时,也影响了自动化测试的运行效率。

专利申请号201410810875.8公开的移动应用测试方法和装置,公开了另一种处理方式,即增加额外的弹框处理装置来处理,在启动测试脚本的过程中加载配置。该配置是独立于测试脚本存在的,可以解决上文传统技术的问题,但使用此框架也存在一定的弊端。首先测试人员需要在测试框架外额外开发和维护这套装置,随着测试框架的更新迭代,测试人员需要对应更新该装置来支持;加载弹框处理配置的操作只是脱离出测试脚本,真实执行的时候还是需要人工去操作,且操作时机要准确,否则无法达到完美的处理效果。



技术实现要素:

本发明所要解决的技术问题是:提供一种自动化测试弹框处理方法及终端,以达到减轻脚本编写难度和维护难度,提升脚本执行成功率的效果。

为了解决上述技术问题,本发明采用的技术方案为:

一种自动化测试弹框处理方法,包括步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在所述初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

s2、运行所述最终自动化测试脚本,若所述弹框监听逻辑监听到弹框的出现,则根据所述弹框处理逻辑对所述弹框进行处理,使得所述最终自动化测试脚本顺利运行。

一种自动化测试弹框处理终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在所述初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

s2、运行所述最终自动化测试脚本,若所述弹框监听逻辑监听到弹框的出现,则根据所述弹框处理逻辑对所述弹框进行处理,使得所述最终自动化测试脚本顺利运行。

本发明的有益效果在于:一种自动化测试弹框处理方法及终端,利用自动化测试框架运行过程中boostrap中间层的作用,在boostrap项目中添加了弹框监听逻辑、弹框处理逻辑,能够在框架底层进行弹框的监测和处理,减轻脚本编写难度和维护难度,提升脚本执行成功率的效果;同时,由于方法是基于框架底层原理进行修改,因此对测试开发人员并无添加额外装置的开发维护开销;且处理方法是运行框架时自动加载弹框监听逻辑和弹框处理逻辑,整个过程对脚本测试人员是不感知的,也不需要做任何人为启动加载装置的操作,因此可以实现最大化的减轻自动化测试的开发成本和执行成本。

附图说明

图1为本发明实施例的一种自动化测试弹框处理方法的流程示意图

图2为本发明实施例的一种自动化测试弹框处理终端的结构示意图;

标号说明:

1、一种自动化测试弹框处理终端;2、存储器;3、处理器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:在自动化测试框架的boostrap中间层中增加弹框监听逻辑、弹框处理逻辑,查新编译成新的boostrap项目源码,并替换原来的boostrap项目源码,使得在运行自动化测试脚本时,能自动处理弹框。

在此之前,为了便于理解本发明的技术方案,对于本发明中涉及的英文缩写、技术原理等进行说明如下:

(1)、appium:是一种自动化测试框架,包括appiumclient(客户端)和appiumserver(服务端)两部分。客户端负责发送操作指令如点击按钮、滑动等指令给服务端;服务端负责接收客户端指令,并将客户端指令转发给boostrap.jar。

(2)、boostrap.jar:是appium运行过程中的中间层,它接收到客户端指令,对客户端指令进行解析后,交由安卓系统自带的uiautomator框架去执行对应的操作,自动化测试脚本的一条条指令,最终会转化成真实手机上的对应操作。

(3)、ui:在本发明中为userinterface的简称,其中文解释为用户的操作界面,包含移动app、网页、智能穿戴设备等。

(4)、android:其中文解释为安卓,它是一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。

(5)、ios:是由苹果公司开发的移动操作系统。

请参照图1,一种自动化测试弹框处理方法,包括步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在所述初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

s2、运行所述最终自动化测试脚本,若所述弹框监听逻辑监听到弹框的出现,则根据所述弹框处理逻辑对所述弹框进行处理,使得所述最终自动化测试脚本顺利运行。

其中,boostrap作为指令转发的中间层,在启动过程中会默认打开对应用crash(应用崩溃)及应用anr(应用未响应)的事件监听,在本方案中通过增加弹框监听逻辑来增加了对popwindow(弹框)的监听。

从上述描述可知,本发明的有益效果在于:利用自动化测试框架运行过程中boostrap中间层的作用,在boostrap项目中添加了弹框监听逻辑、弹框处理逻辑,能够在框架底层进行弹框的监测和处理,减轻脚本编写难度和维护难度,提升脚本执行成功率的效果;同时,由于方法是基于框架底层原理进行修改,因此对测试开发人员并无添加额外装置的开发维护开销;且处理方法是运行框架时自动加载弹框监听逻辑和弹框处理逻辑,整个过程对脚本测试人员是不感知的,也不需要做任何人为启动加载装置的操作,因此可以实现最大化的减轻自动化测试的开发成本和执行成本。

进一步的,所述弹框监听逻辑的步骤包括:

收集移动设备及应用在启动和运行过程中出现的弹框信息,并添加到弹框匹配库中;

根据弹框匹配库中的弹框信息来监听是否发生弹框事件。

由上述描述可知,通过收集主流设备及应用的弹框信息,以保证监听弹框事件的准确性。

进一步的,所述弹框处理逻辑的步骤包括:在监听到弹框事件后,获取弹框信息所属的按钮控件,并实施点击操作,从而关掉弹框。

由上述描述可知,在得知弹框事件之后,能够自动化处理弹框,保证自动化测试脚本执行的稳定性和成功率。

进一步的,所述弹框信息为按钮关键字。

进一步的,所述弹框信息包括:允许/拒绝或是/否或确定/取消或同意并继续或始终允许或始终拒绝或稍后或y/n或ok或no。

由上述描述可知,弹框在应用中通常是用于做二次确认,让用户进一步确认以做选择。通常弹框会包括几类信息:弹框的标题名称、弹框的内容、弹框的确认取消按钮。由于弹框的标题名称和弹框的内容具有更高的不确定性,而弹框的按钮关键字是基本固定的,因此采用按钮关键字来做匹配是最准确的做法,从而能进一步保证监听弹框事件的准确性。

请参照图2,一种自动化测试弹框处理终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在所述初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

s2、运行所述最终自动化测试脚本,若所述弹框监听逻辑监听到弹框的出现,则根据所述弹框处理逻辑对所述弹框进行处理,使得所述最终自动化测试脚本顺利运行。

其中,boostrap作为指令转发的中间层,在启动过程中会默认打开对应用crash(应用崩溃)及应用anr(应用未响应)的事件监听,在本方案中通过增加弹框监听逻辑来增加了对popwindow(弹框)的监听。

从上述描述可知,本发明的有益效果在于:利用自动化测试框架运行过程中boostrap中间层的作用,在boostrap项目中添加了弹框监听逻辑、弹框处理逻辑,能够在框架底层进行弹框的监测和处理,减轻脚本编写难度和维护难度,提升脚本执行成功率的效果;同时,由于方法是基于框架底层原理进行修改,因此对测试开发人员并无添加额外装置的开发维护开销;且处理方法是运行框架时自动加载弹框监听逻辑和弹框处理逻辑,整个过程对脚本测试人员是不感知的,也不需要做任何人为启动加载装置的操作,因此可以实现最大化的减轻自动化测试的开发成本和执行成本。

进一步的,所述弹框监听逻辑的步骤包括:

收集移动设备及应用在启动和运行过程中出现的弹框信息,并添加到弹框匹配库中;

根据弹框匹配库中的弹框信息来监听是否发生弹框事件。

由上述描述可知,通过收集主流设备及应用的弹框信息,以保证监听弹框事件的准确性。

进一步的,所述弹框处理逻辑的步骤包括:在监听到弹框事件后,获取弹框信息所属的按钮控件,并实施点击操作,从而关掉弹框。

由上述描述可知,在得知弹框事件之后,能够自动化处理弹框,保证自动化测试脚本执行的稳定性和成功率。

进一步的,所述弹框信息为按钮关键字。

进一步的,所述弹框信息包括:允许/拒绝或是/否或确定/取消或同意并继续或始终允许或始终拒绝或稍后或y/n或ok或no。

由上述描述可知,弹框在应用中通常是用于做二次确认,让用户进一步确认以做选择。通常弹框会包括几类信息:弹框的标题名称、弹框的内容、弹框的确认取消按钮。由于弹框的标题名称和弹框的内容具有更高的不确定性,而弹框的按钮关键字是基本固定的,因此采用按钮关键字来做匹配是最准确的做法,从而能进一步保证监听弹框事件的准确性。

请参照图1,本发明的实施例一为:

一种自动化测试弹框处理方法,包括步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

其中,弹框监听逻辑的步骤包括:收集移动设备及应用在启动和运行过程中出现的按钮关键字,并添加到弹框匹配库中;根据弹框匹配库中的按钮关键字来监听是否发生弹框事件。

其中,弹框处理逻辑的步骤包括:在监听到弹框事件后,获取按钮关键字所属的按钮控件,并实施点击操作,从而关掉弹框。

其中,按钮关键字包括:允许/拒绝或是/否或确定/取消或同意并继续或始终允许或始终拒绝或稍后或y/n或ok或no。

s2、运行最终自动化测试脚本,若弹框监听逻辑监听到弹框的出现,则根据弹框处理逻辑对弹框进行处理,使得最终自动化测试脚本顺利运行。

请参照图2,本发明的实施例二为:

一种自动化测试弹框处理终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

s1、获取自动化测试框架中的初始boostrap项目源码,在初始boostrap项目源码增加弹框监听逻辑、弹框处理逻辑,重新编译为最终boostrap项目源码,并将自动化测试框架中的初始boostrap项目源码替换为最终boostrap项目源码,得到最终自动化测试脚本;

s2、运行最终自动化测试脚本,若弹框监听逻辑监听到弹框的出现,则根据弹框处理逻辑对弹框进行处理,使得最终自动化测试脚本顺利运行。

其中,弹框监听逻辑的步骤包括:收集移动设备及应用在启动和运行过程中出现的按钮关键字,并添加到弹框匹配库中;根据弹框匹配库中的按钮关键字来监听是否发生弹框事件。

其中,弹框处理逻辑的步骤包括:在监听到弹框事件后,获取按钮关键字所属的按钮控件,并实施点击操作,从而关掉弹框。

其中,按钮关键字包括:允许/拒绝或是/否或确定/取消或同意并继续或始终允许或始终拒绝或稍后或y/n或ok或no。

综上所述,本发明提供的一种自动化测试弹框处理方法及终端,利用自动化测试框架运行过程中boostrap中间层的作用,在boostrap项目中添加了弹框监听逻辑、弹框处理逻辑,能够在框架底层进行弹框的监测和处理,减轻脚本编写难度和维护难度,提升脚本执行成功率的效果;同时,由于方法是基于框架底层原理进行修改,因此对测试开发人员并无添加额外装置的开发维护开销;且处理方法是运行框架时自动加载弹框监听逻辑和弹框处理逻辑,整个过程对脚本测试人员是不感知的,也不需要做任何人为启动加载装置的操作,因此可以实现最大化的减轻自动化测试的开发成本和执行成本;同时,通过收集主流设备及应用的按钮关键字来进行监听,保证监听弹框事件的准确性,从而进一步保证自动化测试过程的稳定性和成功率。

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

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