CN105630686B - 一种应用遍历测试方法、设备和移动终端 - Google Patents
一种应用遍历测试方法、设备和移动终端 Download PDFInfo
- Publication number
- CN105630686B CN105630686B CN201610173642.0A CN201610173642A CN105630686B CN 105630686 B CN105630686 B CN 105630686B CN 201610173642 A CN201610173642 A CN 201610173642A CN 105630686 B CN105630686 B CN 105630686B
- Authority
- CN
- China
- Prior art keywords
- page
- test
- control
- application
- tested application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种应用遍历测试方法,在移动终端中执行,该方法包括:获取移动终端中多个应用的属性信息;接收测试人员对被测应用的选择;从接收测试人员对被测应用测试参数的配置;启动被测应用;对被测应用的各页面执行控件遍历测试;录制被测应用在测试过程中的各测试界面;以及选取其中被测应用出错的测试界面,其中,对一个页面执行控件遍历测试包括:判断该页面是否卡死;如果该页面未卡死,则获取页面的页面名称;根据获取的页面名称查询页面节点信息数据库,页面节点信息包括页面控件列表;依次对该页面控件列表中的每个控件执行测试操作。本发明还公开了相应的应用遍历测试设备以及包含该应用遍历测试设备的移动终端。
Description
技术领域
本发明涉及应用测试领域,特别涉及一种应用遍历测试方法、设备和移动终端。
背景技术
在现有的自动化测试领域中,应用的界面测试大致有以下两种表现形式:一是通过编写脚本程序,让脚本程序按指定的顺序去执行页面操作,从而达到测试某条路径的目的,由于脚本的运行是在已知界面点击指定控件,有很高的准确性,但这种方式过于依赖被测应用的界面,一旦遇到界面修改了,相应地,脚本程序也需要修改,兼容性极差,此外,这种方式的可迁移性低、复用性差。二是利用一些开源测试工具如monkey,这种工具的特点是不再像脚本那样过度依赖界面,能在任意应用甚至跨应用运行,其主要的操作在指定的应用(可以是多个)中进行随机的点击,兼容性高,复用性强。但是,由于测试工具是随机的在界面中点击,准确度和覆盖率就很难有所保证。
因此,需要提出了一种在保证准确度和覆盖率的情况下使得用户界面测试脱离对界面和被测应用的依赖、增加可迁移性和复用性的新方案。
发明内容
为此,本发明提供一种新的应用遍历测试方法、设备和移动终端,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种应用遍历测试方法,在移动终端中执行,该方法包括:获取移动终端中多个应用的属性信息;接收测试人员对被测应用的选择;从接收测试人员对被测应用测试参数的配置;启动被测应用;对被测应用的各页面执行控件遍历测试;录制被测应用在测试过程中的各测试界面;以及选取其中被测应用出错的测试界面,其中,对一个页面执行控件遍历测试包括:判断该页面是否卡死;如果该页面未卡死,则获取页面的页面名称;根据获取的页面名称查询页面节点信息数据库,页面节点信息包括页面控件列表;依次对该页面控件列表中的每个控件执行测试操作。
可选地,在根据本发明的应用遍历测试方法中,属性信息包括应用包名称和Activity名称。
可选地,在根据本发明的应用遍历测试方法中,Activity名称适于启动被测应用。
可选地,在根据本发明的应用遍历测试方法中,在获取页面的页面名称之前,还包括:判断页面是否需要登录;如果页面需要登录,则根据配置的测试参数登录该应用。
可选地,在根据本发明的应用遍历测试方法中,对页面中的一个控件执行测试操作的步骤包括:判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一;如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。
可选地,在根据本发明的应用遍历测试方法中,对页面中的一个控件执行测试操作的步骤还包括:在对页面的一个控件执行测试操作后,判断该页面是否跳转;如果页面跳转,则对跳转后的页面执行控件遍历测试;如果页面未跳转,则判断页面的内容是否改变;如果页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作;如果页面的内容未发生改变,则对该页面继续执行控件遍历测试。
可选地,在根据本发明的应用遍历测试方法中,还包括:在执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否是原来的被测应用;如果当前被测应用不是原来的被测应用,则退出当前的被测应用,进入原来的被测应用。
可选地,在根据本发明的应用遍历测试方法中,测试参数包括测试时长和最大测试循环数。
可选地,在根据本发明的应用遍历测试方法中,还包括:在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历。
根据本发明的一个方面,提供一种应用遍历测试设备,驻留在移动终端中,该设备包括:信息获取单元,适于获取移动终端中多个应用的属性信息;应用选择单元,适于接收测试人员对被测应用的选择;参数配置单元,适于接收测试人员对被测应用的测试参数的配置;应用启动单元,适于启动被测应用;测试执行单元,适于对被测应用的各页面执行控件遍历测试,其中对一个页面执行控件遍历测试时适于判断该页面是否卡死,如果该页面未卡死,则获取页面的页面名称,根据获取的页面名称查询页面节点信息数据库,页面节点信息包括页面控件列表,依次对该页面控件列表中的每个控件执行测试操作;屏幕录制单元,适于在执行控件遍历测试过程中,录制被测应用在测试过程中的各测试界面;界面选取单元,适于选取其中被测应用出错的测试界面。
可选地,在根据本发明的应用遍历测试设备中,属性信息包括应用包名称和Activity名称。
可选地,在根据本发明的应用遍历测试设备中,Activity名称适于启动被测应用。
可选地,在根据本发明的应用遍历测试设备中,测试执行单元还适于:判断页面是否需要登录;如果页面需要登录,则根据配置的测试参数登录该应用。
可选地,在根据本发明的应用遍历测试设备中,测试执行单元还适于:判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一;如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。
可选地,在根据本发明的应用遍历测试设备中,测试执行单元还适于:在对被测应用的页面的一个控件执行测试操作后,判断该页面是否跳转;如果页面跳转,则对跳转后的页面执行控件遍历测试;如果页面未跳转,则判断页面的内容是否改变;如果页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作;如果页面的内容未发生改变,则对该页面继续执行控件遍历测试。
可选地,在根据本发明的应用遍历测试设备中,还包括:应用监听单元,适于在执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否是原来的被测应用;如果不是原来的被测应用,则退出当前的被测应用,进入原来的被测应用。
可选地,在根据本发明的应用遍历测试设备中,测试参数包括测试时长和最大测试循环数。
可选地,在根据本发明的应用遍历测试设备中,测试执行单元还适于:在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
根据本发明的一个方面,提供一种移动终端,包括如上的应用遍历测试设备。
根据本发明的技术方案,通过对被测应用中的每一个页面执行控件遍历测试,提高了测试效率,简化了测试流程。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端100的结构框图;
图2示出了根据本发明一个实施例的应用遍历测试设备200的结构图;
图3示出了根据本发明一个实施例的测试参数配置页面的图示;
图4示出了根据本发明一个实施例的应用遍历测试方法的流程图;以及
图5示出了根据本发明一个实施例的执行控件遍历测试的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是移动终端100的结构框图。具有多点触摸能力的移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及***接口106。
存储器接口102、一个或多个处理器104和/或***接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子***可以耦合到***接口106,以便帮助实现多种功能。例如,运动传感器110、光传感器112和距离传感器114可以耦合到***接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与***接口106相连,例如定位***(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子***120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子***和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。
可以通过一个或多个无线通信子***124来帮助实现通信功能,其中无线通信子***可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子***124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子***124。
音频子***126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
I/O子***140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。
触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。
一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。
存储器150可以存储操作***152,例如Android、iOS或是Windows Phone之类的操作***。该操作***152可以包括用于处理基本***服务以及执行依赖于硬件的任务的指令。存储器150还可以存储各种应用154。在移动设备运行时,会从存储器150中加载操作***152,并且由处理器104执行。应用154在运行时,也会从存储器150中加载,并由处理器104执行。应用154运行在操作***之上,利用操作***以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用可以是独立于操作***提供的,也可以是操作***自带的。
在各种应用154中,其中的一种应用为应用遍历测试设备200,该设备可以在移动终端中对各种应用进行遍历测试,提高了测试的准确度和覆盖率,同时也解除了在测试过程中,对被测应用的依赖,增加了可迁移性。
图2示出了根据本发明一个实施例的应用遍历测试设备200的示意图。如图2所示,该设备驻留在移动终端中,应用遍历测试设备200包括信息获取单元210、应用选择单元220、参数配置单元230、测试执行单元240、应用监听单元250、屏幕录制单元260、应用启动单元270和界面选取单元280。
移动终端例如手机、平板电脑中的应用在发布之前会进行测试,确保最终交给用户的应用的功能符合用户的需求,把尽可能多的问题在应用交给用户之前发现并改正。
在测试之前,信息获取单元210会获取移动终端中多个应用的属性信息,应用可以是***的应用,也可以是测试人员下载的应用。应用的属性信息一般包括应用包名称和Activity名称。
应用测试单元220用于接收测试人员在移动终端中选择的被测应用,例如,测试人员选择“美图秀秀”。参数配置单元230接收测试人员为上述被测应用配置的测试参数,如图3所示,测试参数一般包括测试时长、最大测试循环数、用户名和密码等等。
在设置好测试参数后,应用启动单元270会通过被测应用属性信息中的Activity名称启动被测应用,例如,通过am start命令启动被测应用。测试执行单元240对被测应用的各页面执行控件遍历测试。
在被测应用的各页面执行控件遍历测试时,测试执行单元240会记录测试开始时间,而在控件遍历测试过程中,测试执行单元240一直获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试参数中的测试时长,例如,测试时长为2小时。如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试。如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
在被测应用中的一个页面执行控件遍历测试时,测试执行单元240判断该页面是否卡死。页面的卡死一般包括两种情况:(1)获取不到该页面中任何页面节点信息;(2)一直循环测试该页面中的某个控件。如果页面出现情况(1)的卡死,则随机点击页面,直到能够获取该页面的页面节点信息。如果页面出现情况(2)的卡死,则在循环次数达到测试参数中的最大测试循环数后,强制退出应用,应用启动单元270重新启动被测应用,测试执行单元240对该页面执行控件遍历测试。
如果页面没有卡死,测试执行单元240可以判断该页面是否需要登录。如果该页面需要登录,则根据设置的测试参数输入用户名和密码,登录当前被测应用。如果该页面不需要登录,则通过例如dumpsys命令获取该页面的页面名称。
测试执行单元240根据获取的页面名称查询页面节点信息数据库,如果在页面节点信息数据库中查询到对应页面名称的页面节点信息,则从页面节点信息数据库中获取相应的页面节点信息。如果在页面节点信息数据库中未查到对应该页面名称的页面节点信息,则通过Uiautomator获取当前页面的页面节点信息,将获取到的页面节点信息对应存储到页面节点信息数据库的相应位置。页面节点信息包括有页面控件列表,一般存储于页面节点信息数据库中,一个页面对应存储一个页面节点信息,并对应于数据库中的一条记录,每一条记录的详细信息存储在XML文件中。页面节点信息中包括信息存储路径、页面名称、控件信息、应用包名称和当前页面遍历控件序数。
测试执行单元240依次对页面控件列表中的每个页面控件进行测试操作。页面控件例如是文本类(TextView、EditText等)、按钮类(Button、CheckBox等)、图片类等等。以某个页面的一个控件为例进行说明。
测试执行单元240通过指针读取页面控件列表中的一个控件,判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一。如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。在对该控件执行了相应的操作之后,测试执行单元240进一步判断该页面是否发生跳转。如果该页面发生了跳转,则对跳转后的页面进行控件遍历测试,例如,在测试美图秀秀“首页”中的控件时,该“首页”页面跳转到“美拍”页面,此时,对新的页面执行上述的控件遍历测试。如果该页面没有发生跳转,此时,判断该页面的内容是否改变。如果页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作,例如,在测试美图秀秀“首页”中的控件时,出现了对话框、Fragment等控件,对出现的新的控件执行上述测试操作。如果页面的内容未发生改变,则继续执行控件遍历测试,直到测试完页面控件列表中的所有控件。
在控件遍历测试过程中,应用监听单元250可以监听当前被测应用是否出现异常。例如,通过被测应用的属性信息中的应用包名称监听当前被测应用是否为原来的被测应用。如果不是原来的被测应用,说明被测应用在测试过程中跳转到了其他应用,则直接退出其他应用,重新进入原来的被测应用,继续测试。其他应用一般包括白名单应用和桌面应用,白名单应用为与被测应用相关的应用,在测试人员选择好被测应用后,可进一步选择白名单应用,例如,选择的被测应用为美图秀秀,与美图秀秀相关的应用包括微信、微博等,测试人员可将微信和微博加入白名单,桌面应用为被测应用和白名单应用以外的所有应用。这样,可以防止测试中断,减少对测试结果的影响。
应用监听单元250还可以监听移动终端屏幕的状态,例如,在某个页面执行控件遍历测试过程中,移动终端例如手机的屏幕熄灭,导致测试执行单元240无法获取该页面的页面节点信息,此时,应用监听单元250可唤醒屏幕,防止测试异常。
整个测试过程中,屏幕录制单元260可录制被测应用在测试过程中的各测试界面。页面选取单元280选取被测应用测试出错的界面,生成测试报告,即log文件,以便测试人员对log文件进行摘取、整理,快速定位问题所在,为后期研发提供有效的数据。
根据本发明的技术方案,通过对被测应用中的每一个页面执行控件遍历测试,提高了测试效率,简化了测试流程。
图4示出了根据本发明一个示例性实施例的应用遍历测试方法500的流程图。如图4所示,本实施方法适于在移动终端中执行,该应用遍历测试方法始于步骤S410。
在步骤S410中,获取移动终端中多个应用的属性信息。其中,应用的属性信息一般包括应用包名称和Activity名称,上述Activity名称适于启动被测应用。
在步骤S420中,接收测试人员对被测应用的选择。
在步骤S430中,接收测试人员对被测应用测试参数的配置。其中,测试参数一般包括测试时长、最大测试循环数、用户名和密码。
在步骤S440中,启动被测应用。接下来在步骤S450中,对被测应用的各页面执行控件遍历测试,以一个页面中的控件遍历测试为例进行介绍,详细执行步骤参考图5流程图。
根据一种实施方式,在被测应用中的页面执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长。如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试。如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
根据一种实施方式,在被测应用中的页面执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否为原来的被测应用。如果当前被测应用不是原来的被测应用,则退出当前被测应用,进入原来的被测应用。
在步骤S460中,录制被测应用在测试过程中的各测试界面。随后,在步骤S470中,选取被测应用出错的测试界面。
图5示出了根据本发明一个实施例的执行控件遍历测试的流程图。
如图5所示,在某个页面执行控件遍历测试,在步骤S442中,判断该页面是否卡死。
如果该页面未卡死,则在步骤S444中,获取该页面的页面名称。根据一种实施方式,在获取该页面的页面名称之前,需要判断该页面是否需要登录。如果该页面需要登录,则根据配置的测试参数中的用户名和密码登录该应用。如果该页面不需要登录,则直接执行步骤S444。
在步骤S446中,根据获取的页面名称查询页面节点信息数据库。其中,页面节点信息包括页面控件列表。
随后,在步骤S448中对该页面控件列表中的每个控件进行测试操作。
根据一种实施方式,在对页面中的一个控件执行测试操作时,判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一。如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。上述操作执行完之后,判断该页面是否跳转。如果该页面跳转,则对跳转后的页面执行控件遍历测试。如果该页面未跳转,则判断该页面的内容是否改变。如果该页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作。如果该页面的内容未发生改变,则对该页面继续执行控件遍历测试。
根据本发明的技术方案,通过对被测应用中的每一个页面执行控件遍历测试,提高了测试效率,简化了测试流程。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
A9:根据A1或A7所述的方法,其中还包括:在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
B11:根据B10所述的设备,其中所述属性信息包括应用包名称和Activity名称。B12:根据B11所述的设备,其中所述Activity名称适于启动被测应用。B13:根据B10所述的设备,其中所述测试执行单元还适于:判断所述页面是否需要登录;如果所述页面需要登录,则根据配置的测试参数登录该应用。B14:根据B10所述的设备,其中所述测试执行单元还适于:判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一;如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。B15:根据B10所述的设备,其中所述测试执行单元还适于:在对所述被测应用的页面的一个控件执行测试操作后,判断该页面是否跳转;如果所述页面跳转,则对跳转后的页面执行控件遍历测试;如果所述页面未跳转,则判断所述页面的内容是否改变;如果所述页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作;如果所述页面的内容未发生改变,则对该页面继续执行控件遍历测试。B16:根据B10或B11中所述的设备,还包括:应用监听单元,适于在执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否是原来的被测应用,如果不是原来的被测应用,则退出当前的被测应用,进入原来的被测应用。B17:根据B10或B13所述的设备,其中所述测试参数包括测试时长和最大测试循环数。B18:根据B10或B17所述的设备,其中测试执行单元还适于:在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (17)
1.一种应用遍历测试方法,在移动终端中执行,该方法包括:
获取移动终端中多个应用的属性信息;
接收测试人员对被测应用的选择;
接收测试人员对所述被测应用测试参数的配置,测试参数包括测试时长和最大测试循环数;
启动被测应用;
对所述被测应用的各页面执行控件遍历测试;
录制被测应用在测试过程中的各测试界面;以及
选取其中所述被测应用出错的测试界面,
其中,对一个页面执行控件遍历测试包括:
判断该页面是否卡死;
如果该页面未卡死,则获取所述页面的页面名称;
根据获取的页面名称查询页面节点信息数据库,所述页面节点信息包括页面控件列表;
依次对该页面控件列表中的每个控件执行测试操作;
如果出现一直循环测试该页面中的某个控件这种情况的卡死,则在循环次数达到测试参数中的最大测试循环数后,强制退出应用,并重新启动被测应用。
2.根据权利要求1所述的方法,其中所述属性信息包括应用包名称和Activity名称。
3.根据权利要求2所述的方法,其中所述Activity名称适于启动被测应用。
4.根据权利要求1所述的方法,其中在获取所述页面的页面名称之前,还包括:
判断所述页面是否需要登录;
如果所述页面需要登录,则根据配置的测试参数登录该应用。
5.根据权利要求1所述的方法,其中所述对页面中的一个控件执行测试操作的步骤包括:
判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一;
如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。
6.根据权利要求1所述的方法,其中所述对页面中的一个控件执行测试操作的步骤还包括:
在对页面的一个控件执行测试操作后,判断该页面是否跳转;
如果所述页面跳转,则对跳转后的页面执行控件遍历测试;
如果所述页面未跳转,则判断所述页面的内容是否改变;
如果所述页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作;
如果所述页面的内容未发生改变,则对该页面继续执行控件遍历测试。
7.根据权利要求1或2所述的方法,其中还包括:
在执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否是原来的被测应用;
如果当前被测应用不是原来的被测应用,则退出当前的被测应用,进入原来的被测应用。
8.根据权利要求1所述的方法,其中还包括:
在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;
如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;
如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
9.一种应用遍历测试设备,驻留在移动终端中,所述设备包括:
信息获取单元,适于获取移动终端中多个应用的属性信息;
应用选择单元,适于接收测试人员对被测应用的选择;
参数配置单元,适于接收测试人员对所述被测应用的测试参数的配置,测试参数包括测试时长和最大测试循环数;
应用启动单元,适于启动被测应用;
测试执行单元,适于对所述被测应用的各页面执行控件遍历测试,其中对一个页面执行控件遍历测试时适于判断该页面是否卡死,如果该页面未卡死,则获取所述页面的页面名称,根据获取的页面名称查询页面节点信息数据库,所述页面节点信息包括页面控件列表,依次对该页面控件列表中的每个控件执行测试操作,如果出现一直循环测试该页面中的某个控件这种情况的卡死,则在循环次数达到测试参数中的最大测试循环数后,强制退出应用,并重新启动被测应用;
屏幕录制单元,适于在执行控件遍历测试过程中,录制被测应用在测试过程中的各测试界面;
界面选取单元,适于选取其中所述被测应用出错的测试界面。
10.根据权利要求9所述的设备,其中所述属性信息包括应用包名称和Activity名称。
11.根据权利要求10所述的设备,其中所述Activity名称适于启动被测应用。
12.根据权利要求9所述的设备,其中所述测试执行单元还适于:
判断所述页面是否需要登录;
如果所述页面需要登录,则根据配置的测试参数登录该应用。
13.根据权利要求9所述的设备,其中所述测试执行单元还适于:
判断该控件所接受的操作类型是否为点击型、滑动型和输入型中之一;
如果该控件的操作类型为点击型、滑动型和输入型中之一,则对该控件执行相应的点击、滑动或输入信息操作。
14.根据权利要求9所述的设备,其中所述测试执行单元还适于:
在对所述被测应用的页面的一个控件执行测试操作后,判断该页面是否跳转;
如果所述页面跳转,则对跳转后的页面执行控件遍历测试;
如果所述页面未跳转,则判断所述页面的内容是否改变;
如果所述页面的内容发生改变,则对内容改变后的页面中的控件执行测试操作;
如果所述页面的内容未发生改变,则对该页面继续执行控件遍历测试。
15.根据权利要求9或10所述的设备,还包括:
应用监听单元,适于在执行控件遍历测试过程中,通过应用包名称监听当前被测应用是否是原来的被测应用,如果不是原来的被测应用,则退出当前的被测应用,进入原来的被测应用。
16.根据权利要求9所述的设备,其中测试执行单元还适于:
在执行控件遍历测试过程中,记录测试开始时间,获取移动终端当前测试时间,判断移动终端当前测试时间与测试开始时间的差值是否小于测试时长;
如果移动终端当前测试时间与测试开始时间的差值小于测试时长,则继续执行控件遍历测试;
如果移动终端当前测试时间与测试时间的差值大于等于测试时长,则停止执行控件遍历测试。
17.一种移动终端,包括如权利要求9-16中任一项所述的应用遍历测试设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610173642.0A CN105630686B (zh) | 2016-03-24 | 2016-03-24 | 一种应用遍历测试方法、设备和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610173642.0A CN105630686B (zh) | 2016-03-24 | 2016-03-24 | 一种应用遍历测试方法、设备和移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630686A CN105630686A (zh) | 2016-06-01 |
CN105630686B true CN105630686B (zh) | 2018-12-18 |
Family
ID=56045656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610173642.0A Active CN105630686B (zh) | 2016-03-24 | 2016-03-24 | 一种应用遍历测试方法、设备和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630686B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515821B (zh) * | 2016-06-17 | 2021-08-31 | 百度在线网络技术(北京)有限公司 | 控件测试方法和装置 |
CN106294152B (zh) * | 2016-08-09 | 2019-03-12 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106383780A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种Monkey测试方法及装置 |
CN106649024A (zh) * | 2016-09-22 | 2017-05-10 | 微梦创科网络科技(中国)有限公司 | 一种应用性能实时监控方法及装置 |
CN108009078B (zh) * | 2016-11-01 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 一种应用界面遍历方法、***和测试设备 |
CN106772465B (zh) * | 2017-02-09 | 2021-08-10 | 惠州Tcl移动通信有限公司 | 移动终端gps的灵敏度衰减自动化测试方法及*** |
CN109144841B (zh) * | 2017-06-16 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 广告应用的识别方法和装置、计算机设备和存储介质 |
CN107506300B (zh) * | 2017-08-09 | 2020-10-13 | 百度在线网络技术(北京)有限公司 | 一种用户界面测试方法、装置、服务器和存储介质 |
CN107608685A (zh) * | 2017-10-18 | 2018-01-19 | 湖南警察学院 | 安卓应用的自动执行方法 |
CN108021501B (zh) * | 2017-11-01 | 2021-01-22 | 平安科技(深圳)有限公司 | 测试用例迁移终端、测试用例迁移方法及存储介质 |
CN109783343A (zh) * | 2017-11-13 | 2019-05-21 | 北京嘀嘀无限科技发展有限公司 | 控件测试方法、装置、客户端设备和计算机可读存储介质 |
CN107870862B (zh) * | 2017-11-15 | 2020-05-12 | 厦门美图移动科技有限公司 | 新控件预测模型的构建方法、遍历测试方法和计算设备 |
CN109815150B (zh) * | 2019-01-29 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 应用测试方法、装置、电子设备及存储介质 |
CN110069407B (zh) * | 2019-04-03 | 2022-12-16 | 北京云测信息技术有限公司 | 一种应用程序的功能测试方法和装置 |
CN110321284B (zh) * | 2019-06-03 | 2024-05-03 | 平安科技(深圳)有限公司 | 测试数据录入方法、装置、计算机设备和存储介质 |
CN110580221A (zh) * | 2019-08-21 | 2019-12-17 | 东软集团股份有限公司 | 控件测试方法、装置、存储介质及电子设备 |
CN110888799B (zh) * | 2019-10-14 | 2021-05-25 | 京东数字科技控股有限公司 | 一种软件测试方法及装置 |
CN110990258A (zh) * | 2019-10-29 | 2020-04-10 | 贝壳技术有限公司 | 基于Android***的APP测试方法、装置、可读存储介质及处理器 |
CN111078579A (zh) * | 2019-12-31 | 2020-04-28 | 河北省科学院应用数学研究所 | 一种Monkey测试方法、装置及终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
CN104572430A (zh) * | 2013-10-24 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种终端应用界面的测试方法、装置和*** |
CN104915290A (zh) * | 2015-05-28 | 2015-09-16 | 小米科技有限责任公司 | 应用测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189648A1 (en) * | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Facilitated quality testing |
-
2016
- 2016-03-24 CN CN201610173642.0A patent/CN105630686B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
CN104572430A (zh) * | 2013-10-24 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种终端应用界面的测试方法、装置和*** |
CN104915290A (zh) * | 2015-05-28 | 2015-09-16 | 小米科技有限责任公司 | 应用测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105630686A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630686B (zh) | 一种应用遍历测试方法、设备和移动终端 | |
CN105868105B (zh) | 一种应用遍历测试方法、设备及移动终端 | |
CN105975391B (zh) | 一种重启测试方法、设备和移动终端 | |
CN107329750A (zh) | 应用程序中广告页面的识别方法、跳转方法及移动终端 | |
CN106201876B (zh) | 一种应用测试方法、装置和移动终端 | |
CN105512033B (zh) | 一种移动终端的自动化测试方法、装置及移动终端 | |
CN104902479B (zh) | 一种网络安全管理设备、方法和移动终端 | |
CN106126424B (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
CN104991847B (zh) | 一种内存泄露自动化检测方法、装置及移动终端 | |
CN106484593A (zh) | 日志处理方法、装置及电子设备 | |
CN109672908A (zh) | 一种隐私信息保护方法、装置和移动终端 | |
CN108415734A (zh) | 一种应用恢复装置、方法和移动终端 | |
US10206618B2 (en) | Optimized visibility for sleep sessions over time | |
CN104318185B (zh) | 一种应用控制方法、设备及移动终端 | |
CN106294041A (zh) | 一种bug信息上报的方法、装置及移动终端 | |
CN109669697A (zh) | 一种内容列表的组件化展示方法和移动终端 | |
CN110366100A (zh) | 终端的定位方法、定位装置、可读存储介质及终端设备 | |
CN104915290A (zh) | 应用测试方法及装置 | |
CN109660859A (zh) | 一种动画展示方法和移动终端 | |
CN108509348A (zh) | 一种***老化的测试方法及移动终端 | |
CN110516187A (zh) | 一种页面处理方法、移动终端、可读存储介质 | |
US10180900B2 (en) | Recordation of user interface events for script generation | |
CN106210541B (zh) | 一种视频生成方法、装置及移动终端 | |
CN108984417A (zh) | 软件测试方法、装置、终端及存储介质 | |
CN106503062A (zh) | 一种社交动态的发布方法及装置、用户终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230808 Address after: 7th floor, No. 137 Haining Road, Hongkou District, Shanghai, 200086 (centralized registration location) Patentee after: Shanghai Zunmeng Technology Co.,Ltd. Address before: 361009 112a, Pioneer Building, Pioneer Park, torch hi tech Zone, Xiamen City, Fujian Province Patentee before: Xiamen Meitu Mobile Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |