CN105718370A - 一种Android设备测试方法及测试装置 - Google Patents
一种Android设备测试方法及测试装置 Download PDFInfo
- Publication number
- CN105718370A CN105718370A CN201610040884.2A CN201610040884A CN105718370A CN 105718370 A CN105718370 A CN 105718370A CN 201610040884 A CN201610040884 A CN 201610040884A CN 105718370 A CN105718370 A CN 105718370A
- Authority
- CN
- China
- Prior art keywords
- interface
- android
- control
- test
- mistake
- 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.)
- Pending
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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
Abstract
本发明提供一种Android设备测试方法及系统。本发明Android设备测试方法,包括如下步骤:S10获取Android设备当前界面的布局;S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作;S30监控所述操作进行时是否发生错误,以及;S40根据是否发生错误记录测试结果。该测试方法及测试装置能任意测试Android设备,无需脚本录制,而且支持进行跨应用的测试。
Description
技术领域
本发明涉及软件系统的测试领域,尤指对应用Android系统的设备的测试方法及装置。
背景技术
目前手机、电脑、平板电脑等电子设备广泛的使用具有操作界面和菜单的软件系统,例如Android(安卓)系统,对这些使用该系统的设备的各种测试方法也层出不穷。
中国专利申请号:201410747884.7公开了一种GUI控件的识别的方法和装置,,其中,GUI控件的属性信息被预先录制并具有唯一标识,属性信息包括:GUI控件的父窗口的标题和/或类名,GUI控件相对于父窗口的位置坐标以及GUI控件对应的第一图像。方法包括:根据属性信息中的父窗口标题和/或父窗口类名查找GUI控件所在的父窗口;根据GUI控件相对于父窗口的位置坐标,截取预设尺寸和位置的第二图像;计算第二图像与第一图像之间的相似度并根据相似度对GUI控件进行识别。根据该方案,能够准确识别出非标准控件,并且,这种识别方法可直接封装为接口,适合用于GUI自动化测试中。该方案是通过截取图像位置的相似度进行比对。
中国专利申请号:201510340235.X公开了实现Android移动终端自动化测试的方法及系统。其中,方法包括:A、将移动终端与PC端通过数据线连接;B、将Android指令执行器上传到移动终端;C.PC端通过cmd命令向移动终端发送测试指令;D、Android指令执行器接收到测试指令后,执行相应的操作,并返回指令执行结果至PC端。本发明无需修改Android移动终端任何软件代码,测试脚本在移动终端外部(例如,PC)执行,从外部发送测试指令,实现自动化测试。能有效节省实施自动化测试的成本,提高自动化测试的效率。
以上方案均未公开如何具体进行Android整机各模块(即功能)的遍历和运行。
发明内容
本发明为了解决自动遍历Android设备中功能的问题,提供一种Android设备测试方法及测试装置。该测试方法及测试装置能任意测试Android设备,无需脚本录制,而且支持进行跨应用的测试。
为了实现本发明以上发明目的,本发明是通过以下技术方案实现的:
一种Android设备测试方法,包括如下步骤:
S10获取Android设备当前界面的布局;
S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作;
S30监控所述操作进行时是否发生错误,以及;
S40根据是否发生错误记录测试结果。
本技术方案针对每个界面上的可操作控件,其作用对象直接是控件本身。无论是什么样的Android设备,只要是基于Android系统,其控件都是通用的,也就是Android系统定义好的。因此,本技术方案具有强兼容性和敏捷性,可以任意匹配Android设备的功能。对于不同的Android设备不需要重新编写脚本运行,方便运行和维护。
进一步地,测试时按照界面遍历算法依次对各个界面执行步骤S10-S40,进行遍历测试;当任意一界面测试中发生错误,则放弃当前界面的测试,继续对下一待测界面进行测试。本质上,Android设备的界面是树形结构。设备开机通常进入主界面,从主界面可以进入各个分支界面,各个分支界面有些还会有进一步的分支界面。界面遍历算法的具体方式可以为各种树形结构的遍历算法,包括前序遍历,中序遍历,后序遍历,按层遍历等等。树形结构的遍历算法在计算程序领域已得到广泛研究,本发明不再赘述。
优选地,所述已设置操作方式包括:
控件Android.widge.TextView操作方式设置为点击;
控件Android.widge.ImageView操作方式设置为长按;
控件Android.widge.ListView操作方式设置为点击;
控件Android.widge.Button操作方式设置为按键;
控件Android.widge.EditText操作方式设置为输入文本;
控件Android.widge.CheckBox操作方式设置为点击;
控件Android.widge.ProgressBar操作方式设置为滑动。
Android系统中可操作的主要控件包括Android.widge.TextView、Android.widge.ImageView、Android.widge.ListView、Android.widge.Button、Android.widge.EditText、Android.widge.CheckBox、Android.widge.ProgressBar等等。本优选方案中,对各种可操作控件设置操作方式。对于可操作控件的归类并结合协议(即Android系统中上述可操作控件的协议)来测试,具有稳定性强,错误识别率高的优点。
进一步地,步骤S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作具体为:
在解析该布局获得当前界面的各控件的内容后对其中可操作控件进行排序,排序方式包括从左到右、从上到下,或从右到左、从上到下,或从左到右、从下到上,或从右到左、从下到上;
之后按照所述排序对各控件中可操作的控件按照设置的操作方式进行操作。特定排序能够避免遗漏控件,提高测试准确率。
优选地,所述S40根据是否发生错误记录测试结果具体为:对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;最后根据上述通过和/或错误情况呈现整体测试结果。
本优选方案中,测试结果的呈现采用功能模块为单位,而非界面。例如短信功能、音乐播放器功能、图库功能等等。每个功能模块可以包含一个到多个界面,这样更加符合使用习惯,对于发现错误出现的位置也更方便。为未来修改提供了便利。
本发明还提供一种Android设备测试装置,包括:
Android界面布局获取器,其获取Android设备当前界面的布局,并解析该布局获得当前界面的各控件的内容;
控件操作器,对各控件中可操作的控件按照已设置的操作方式进行操作;
运行监控器,监控所述操作进行时是否发生错误,以及;
测试结果生成器,根据是否发生错误记录测试结果。
Android界面布局获取器的工作原理主要是获取Android设备当前界面的XML布局。目前Android界面的布局构架是通过XML语言进行搭建的,通过XML格式嵌套完成各个功能模块的布局。因此,Android界面布局获器,通过XML格式的解析,在Android设备中每一个界面都会形成一个XML布局格式的文档定义当前界面的布局,因此我们可以根据XML的内容来获得当前界面的各控件的内容。Android界面布局获取器的核心是XML布局解析,能够排序当前界面的内容,并根据不同的控件进行相应的操作。也是本发明的关键点之一。
进一步地,所述运行监控器监控所述操作进行时是否发生错误进一步包括:
所述运行监控器按照界面遍历算法,控制对各个界面进行遍历测试;
当任意一界面测试中发生错误,则所述运行监控器放弃当前界面的测试,关闭出错提示窗口并继续对下一待测界面进行测试。在每个界面测试过程中,均是由Android界面布局获取器对当前界面的控件进行捕捉。
优选地,所述运行监控器,监控所述操作进行时是否发生错误,当发生错误时,所述运行监控器记录出错情况,提取并独立保存出错相关日志文件,同时对出错界面截屏保存。
在测试程序的运行过程中,会产生对已完成的处理的记录即log文件(日志文件)。运行监控器通过后台不断进行运行日志文件的查验和过滤,能及时验证出当前界面是否出现错误。
进一步优选地,测试结果生成器,根据是否发生错误记录测试结果;
所述测试结果生成器对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;
所述测试结果生成器根据上述通过和/或错误情况呈现整体测试结果。
进一步优选地,所述整体测试结果为按照功能模块命名的若干测试结果包;每个测试结果包的名称含有测试结果通过标识或者错误标识;对于测试出现错误的功能模块,其测试结果包中包括出错相关日志文件和出错界面的截屏图片。
本发明至少具有以下有益效果之一
1.本发明提供了一种自动化的Android设备测试方法和装置,结合功能协议,支持任意Android设备的测试以及能够兼容不同的Android应用和功能,并进行有序的各菜单(界面)遍历测试。
2.本发明是建立在Android控件的归类并结合协议的一种测试方法和装置,具有稳定性强,错误识别率高的特点。
3.本发明无需脚本录制和脚本编写维护,有别于传统的测试方法,不依赖特定设备,能够即插即用。
4.本发明使用自研Android自动化测试框架技术,通过核心算法进行界面计算动态形成测试用例进行并进行执行。
5.本发明已通过实验,在多个不同类型的Android设备中进行过实验,效果良好,达到预期设定效果,且运行稳定,长时间运行无故障出现。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明:
图1为Android设备测试方法第一实施例示意图;
图2为可操作控件设置的操作方式示意图;
图3为Android设备测试装置第一实施例示意图;
图4为Android设备测试方法第二实施例的一种测试流程示意图。
图5为一种Android系统出现CRASH故障时自动跳出的出错提示窗口;
图中:
1Android界面布局获取器2控件操作器3运行监控器
4测试结果生成器5测试控制器100Android设备测试装置
AAndroid设备主界面B音乐播放器功能主界面
B1歌曲播放界面B2音乐搜索界面B3下载管理界面
B、B2、B3为音乐播放器功能的分支界面
C短信功能主界面D图库功能主界面
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。
本发明Android设备测试方法及测试装置可以通过java语言进行编写,同理也可以使用C#,VB,C++/C等其他编程语言进行实现。本发明实现Android设备的整体兼容性测试和并能搭载和扩展其他功能性测试及性能测试。
第一实施例
如图1为Android设备测试方法第一实施例示意图。一种Android设备测试方法,包括如下步骤:
S10获取Android设备当前界面的布局;
S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作;
S30监控所述操作进行时是否发生错误,以及;
S40根据是否发生错误记录测试结果。
如图2,S20中已设置的操作方式包括:
控件Android.widge.TextView操作方式设置为点击(Click);
控件Android.widge.ImageView操作方式设置为长按(LongClick);
控件Android.widge.ListView操作方式设置为点击(Click);
控件Android.widge.Button操作方式设置为按键(Presskey);
控件Android.widge.EditText操作方式设置为输入文本(InputText);
控件Android.widge.CheckBox操作方式设置为点击(Click);
控件Android.widge.ProgressBar操作方式设置为滑动(Swipe)。
Android系统中可操作的主要控件包括Android.widge.TextView、Android.widge.ImageView、Android.widge.ListView、Android.widge.Button、Android.widge.EditText、Android.widge.CheckBox、Android.widge.ProgressBar等等。本实施例中,对各种可操作控件设置操作方式。对于可操作控件的归类并结合协议(即Android系统中上述可操作控件的协议)来测试,具有稳定性强,错误识别率高的优点。本实施例揭示了如何针对每个界面上的可操作控件进行测试;测试作用对象直接是控件本身,无论是什么样的Android设备,只要是基于Android系统,其控件都是通用的,也就是Android系统定义好的。因此,本发明可以做到横向兼容其他不同型号品牌及版本的Android设备的自动化测试,而且各个不同设备之间均不需要单独进行脚本录制。
图3为Android设备测试装置第一实施例示意图;本实施例提供与上述Android设备测试方法相应的Android设备测试装置100,包括:
Android界面布局获取器1,其获取Android设备当前界面的布局,并解析该布局获得当前界面的各控件的内容;控件操作器2,对各控件中可操作的控件按照上述已设置的操作方式进行操作;运行监控器3,监控所述操作进行时是否发生错误,以及;测试结果生成器4,根据是否发生错误记录测试结果。
Android界面布局获取器的工作原理主要是获取Android设备当前界面的XML布局。目前Android界面的布局构架是通过XML语言进行搭建的,通过XML格式嵌套完成各个功能模块的布局。因此,Android界面布局获器,通过XML格式的解析,在Android设备中每一个界面都会形成一个XML布局格式的文档定义当前界面的布局,因此我们可以根据XML的内容来获得当前界面的各控件的内容。Android界面布局获取器的核心是XML布局解析,能够排序当前界面的内容,并根据不同的控件进行相应的操作。也是本发明的关键点之一。
以上第一实施例中描述的具体内容,下面的实施例中若无特别说明则与本实施例相同。
第二实施例
本实施例Android设备测试方法测试时按照界面遍历算法依次对各个界面执行步骤S10-S40,进行遍历测试;当任意一界面测试中发生错误,则放弃当前界面的测试,继续对下一待测界面进行测试。其中步骤S10-S40与上述实施例1相同,不再赘述。整个测试过程是一个嵌套的层层递进的测试过程,下面将具体介绍。
本实施例相应的Android设备测试装置100仍然如图3所示,包括Android界面布局获取器1、控件操作器2、运行监控器3、测试结果生成器4。本实施例中运行监控器3按照界面遍历算法,控制对各个界面进行遍历测试。其中每个界面测试过程仍然是运行步骤S10-S40。测试过程是在Android界面布局获取器1、控件操作器2、运行监控器3以及测试结果生成器4的综合作用下进行。当任意一界面测试中发生错误,则运行监控器3放弃当前界面的测试,关闭出错提示窗口并继续对下一待测界面进行测试。
本实施例相比第一实施例,运行监控器3不仅仅是监控单个界面上是否出现错误,其还负责控制调度整体测试过程。运行监控器3的作用是监控Android设备在遍历各个层级的界面(也包括菜单)时,是否有异常错误提示,一般android运行故障时,会出现的故障包括ANR和CRASH两种,我们的遍历测试目的也是发现这些问题,需要发现Android设备中的错误和故障的出现。运行监控器通过后台不断进行运行日志的查验和过滤,能及时验证出当前界面是否遇错,如遇错了,放弃当前遍历层级,进行另一界面的遍历,并将错误内容清除(也就是关闭出错提示窗口)。图5为出现CRASH故障时,Android系统自动跳出的出错提示窗口的一种形式。
图4为Android设备测试方法第二实施例的一种测试流程示意图。需要说明的是,图4为了简洁的说明本实施例测试流程,其中表示的界面仅为一小部分可能的界面,并非Android设备的全部界面,实际测试时待测设备的具体功能决定了需要测试哪些界面。如图4,本实施例Android设备测试方法测试时,首先运行监控器3控制进入Android设备主界面A,Android界面布局获取器1获取Android设备主界面A的布局,并解析该布局获得当前界面的各控件的内容。Android界面布局获取器1找到Android设备主界面A上有多个控件,其中部分控件(例如Android.widge.CheckBox),对其点击(Click)可以进入若干功能主界面:例如音乐播放器功能主界面B、短信功能主界面C、图库功能主界面D等等,其他界面图4中省略。控件操作器2,对第一个可操作的控件(即进入音乐播放器功能主界面B的控件)按照点击(Click)的操作方式进行操作,此时进入了音乐播放器功能主界面B。
Android界面布局获取器1获取音乐播放器功能主界面B的布局,并解析该布局获得当前界面的各控件的内容。Android界面布局获取器1找到音乐播放器功能主界面B上有多个控件,其中部分控件(例如Android.widge.CheckBox),对其点击(Click)可以进入若干音乐播放器功能的分支界面歌曲播放界面B1、音乐搜索界面B2、下载管理界面B3等等(其他界面在图4以及本实施中省略)。例如控件操作器2对第一个可操作控件执行点击(Click)操作进入B1。
此时Android界面布局获取器1获取歌曲播放界面B1的布局,并解析该布局获得当前界面的各控件的内容。Android界面布局获取器1找到歌曲播放界面B1上有多个控件,包括可以对歌曲播放进度进行拖动的控件Android.widge.ProgressBar,可以调整播放音量的控件Android.widge.Button(表现为音量+、-按钮),可以查看歌词的控件Android.widge.TextView等等。控件操作器2按照顺序对Android.widge.ProgressBar(对歌曲播放进度进行拖动)执行滑动(Swipe)操作;对Android.widge.Button进行按键(Presskey)操作,对Android.widge.TextView(查看歌词)执行点击(Click)操作等等。
当对歌曲播放界面B1测试完毕,运行监控器3控制回到音乐播放器功能主界面B,再按照遍历算法排好的顺序依次对音乐搜索界面B2、下载管理界面B3等界面进行测试。待音乐播放器功能主界面B及其下属的各个界面全部测试完毕,则运行监控器3控制回到Android设备主界面A,再依次进入短信功能主界面C、图库功能主界面D等界面对短信、图库等各个功能进行测试,直到遍历测试完成。
在上述整个测试过程中运行监控器3监控操作进行时是否发生错误。当任意一界面测试中发生错误,则运行监控器3放弃当前界面的测试,关闭出错提示窗口并继续对下一待测界面进行测试。测试结果生成器4根据是否发生错误记录测试结果。
当然,上面的例子仅仅是Android设备多种功能的一小部分,同时各个功能也可能下属多层次的分支界面,本实施例仅为部分的,示意性的举例。
以上第二实施例中描述的具体内容,下面的实施例中若无特别说明则与本实施例相同。
第三实施例
本实施例与第二实施例Android设备测试方法相比,主要改进在于步骤S20和步骤S40:
步骤S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照设置的操作方式进行操作具体为:
在解析该布局获得当前界面的各控件的内容后对其中可操作控件进行排序,排序方式包括从左到右、从上到下,或从右到左、从上到下,或从左到右、从下到上,或从右到左、从下到上;
之后按照所述排序对各控件中可操作的控件按照已设置的操作方式进行操作。特定排序能够避免遗漏控件,提高测试准确率。
步骤S40根据是否发生错误记录测试结果具体为:对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;最后根据上述通过和/或错误情况呈现整体测试结果。
再次参考图3,本实施例与第二实施例Android设备测试装置相比,主要改进在于运行监控器3和测试结果生成器4:
运行监控器3,监控操作进行时是否发生错误,当发生错误时,运行监控器3记录出错情况,提取并独立保存出错相关日志文件,同时对出错界面截屏保存。在测试程序的运行过程中,会产生对已完成的处理的记录即log文件(日志文件)。运行监控器3通过后台不断进行运行日志文件的查验和过滤,能及时验证出当前界面是否出现错误。
测试结果生成器4对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;所述测试结果生成器根据上述通过和/或错误情况呈现整体测试结果。整体测试结果为按照功能模块命名的若干测试结果包;每个测试结果包的名称含有测试结果通过标识或者错误标识;对于测试出现错误的功能模块,其测试结果包中包括出错相关日志文件和出错界面的截屏图片。
再次参考图3、图4,沿用第二实施例中的具体例子说明本实施例中的运行监控器3和测试结果生成器4。假设在音乐播放器功能测试中,音乐搜索界面B2出现CRASH错误,此时运行监控器3记录出错情况,提取并独立保存出错相关日志文件,同时对出错的音乐搜索界面B2截屏保存。测试结果生成器4对音乐播放器这个功能模块的测试结果包进行命名,例如命名“Player”,由于其测试中出现了错误,则名称中加入错误标识“FAIL”。此时音乐播放器的测试结果包名为“Player-FAIL”。测试结果包“Player-FAIL”里包含运行监控器3提取的出错相关日志文件,以及音乐搜索界面B2截屏图片。若其他短信功能、图库功能测试均通过,则其测试结果包的包名加入测试通过标识“PASS”。短信功能测试结果包名为“Message-PASS”;图库功能测试结果包名为“Picture-PASS”。其他功能也是同样方式生成测试结果包。最后的测试结果,是按照所有功能生成的若干测试结果包。测试人员可以一目了然的看出哪些功能模块出现错误。对出现错误的功能,点开其测试结果包可以看到出错相关日志文件,以及出错界面的截屏图片。
本发明中一个或多个处理器,含单核处理器或多核处理器,用于执行本发明涉及的系统、程序、用户和应用界面以及Android设备的任何其他功能。处理器也可称为一个或多个微处理器、中央处理单元(CPU)等等。更具体地,处理器可为复杂的指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器,或实现指令集组合的处理器。处理器还可为一个或多个专用处理器,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理指令的任何其他类型的逻辑部件。处理器用于执行本发明所讨论的操作和步骤的指令。
要由一个或多个处理器处理的指令或者数据可以存储在计算机可读介质中,例如存储器。存储器可包括一个或多个易失性存储设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器可存储包括由处理器或任何其他设备执行的指令序列的信息。例如,多种操作系统、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序的可执行代码和/或数据可被加载在存储器中并且由处理器执行。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种Android设备测试方法,其特征在于,包括如下步骤:
S10获取Android设备当前界面的布局;
S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作;
S30监控所述操作进行时是否发生错误,以及;
S40根据是否发生错误记录测试结果。
2.根据权利要求1所述的Android设备测试方法,其特征在于,还包括,
测试时按照界面遍历算法依次对各个界面执行步骤S10-S40,进行遍历测试;
当任意一界面测试中发生错误,则放弃当前界面的测试,继续对下一待测界面进行测试。
3.根据权利要求1或2所述的Android设备测试方法,其特征在于,步骤S20中,所述已设置的操作方式的设置包括:
控件Android.widge.TextView操作方式设置为点击;
控件Android.widge.ImageView操作方式设置为长按;
控件Android.widge.ListView操作方式设置为点击;
控件Android.widge.Button操作方式设置为按键;
控件Android.widge.EditText操作方式设置为输入文本;
控件Android.widge.CheckBox操作方式设置为点击;
控件Android.widge.ProgressBar操作方式设置为滑动。
4.根据权利要求1或2所述的Android设备测试方法,其特征在于,步骤S20解析该布局获得当前界面的各控件的内容,对各控件中可操作的控件按照已设置的操作方式进行操作具体为:
在解析该布局获得当前界面的各控件的内容后对其中可操作控件进行排序,排序方式包括从左到右、从上到下,或从右到左、从上到下,或从左到右、从下到上,或从右到左、从下到上;
之后按照所述排序对各控件中可操作的控件按照已设置的操作方式进行操作。
5.根据权利要求1或2所述的Android设备测试方法,其特征在于,所述S40根据是否发生错误记录测试结果具体为:对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;最后根据上述通过和/或错误情况呈现整体测试结果。
6.一种Android设备测试装置,其特征在于,包括:
Android界面布局获取器,其获取Android设备当前界面的布局,并解析该布局获得当前界面的各控件的内容;
控件操作器,对各控件中可操作的控件按照已设置的操作方式进行操作;
运行监控器,监控所述操作进行时是否发生错误,以及;
测试结果生成器,根据是否发生错误记录测试结果。
7.根据权利要求6所述的Android设备测试装置,其特征在于,所述运行监控器监控所述操作进行时是否发生错误进一步包括:
所述运行监控器按照界面遍历算法,控制对各个界面进行遍历测试;
当任意一界面测试中发生错误,则所述运行监控器放弃当前界面的测试,关闭出错提示窗口并继续对下一待测界面进行测试。
8.根据权利要求6或7所述的Android设备测试装置,其特征在于,所述运行监控器,监控所述操作进行时是否发生错误,当发生错误时,所述运行监控器记录出错情况,提取并独立保存出错相关日志文件,同时对出错界面截屏保存。
9.根据权利要求8所述的Android设备测试装置,其特征在于,测试结果生成器,根据是否发生错误记录测试结果;
所述测试结果生成器对每个包括至少一个界面的功能模块进行命名,并记录该功能模块的测试结果,若遍历该功能模块的所有界面没有出现错误,则该功能模块的测试结果为通过;若其中任一界面出现错误,则对该功能模块标注错误标识并记录所述出现错误的界面;
所述测试结果生成器根据上述通过和/或错误情况呈现整体测试结果。
10.根据权利要求9所述的Android设备测试装置,其特征在于,所述整体测试结果为按照功能模块命名的若干测试结果包;每个测试结果包的名称含有测试结果通过标识或者错误标识;对于测试出现错误的功能模块,其测试结果包中包括出错相关日志文件和出错界面的截屏图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610040884.2A CN105718370A (zh) | 2016-01-21 | 2016-01-21 | 一种Android设备测试方法及测试装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610040884.2A CN105718370A (zh) | 2016-01-21 | 2016-01-21 | 一种Android设备测试方法及测试装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718370A true CN105718370A (zh) | 2016-06-29 |
Family
ID=56153774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610040884.2A Pending CN105718370A (zh) | 2016-01-21 | 2016-01-21 | 一种Android设备测试方法及测试装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718370A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106168923A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种功能遍历与界面遍历方法及系统 |
CN106294152A (zh) * | 2016-08-09 | 2017-01-04 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106502895A (zh) * | 2016-10-21 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种自动化测试信息生成装置及方法 |
CN106814943A (zh) * | 2016-12-20 | 2017-06-09 | 武汉斗鱼网络科技有限公司 | 一种计算机与安卓设备的交互方法及系统 |
CN106998467A (zh) * | 2017-04-18 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 媒体播放质量测试方法和装置 |
CN107040818A (zh) * | 2017-03-31 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 用于安卓电视的布局层级分析方法及系统 |
CN107122295A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 测试用例脚本的生成方法和装置 |
CN107577594A (zh) * | 2017-07-12 | 2018-01-12 | 捷开通讯(深圳)有限公司 | 记录测试异常的方法、智能终端及具有存储功能的装置 |
CN108399124A (zh) * | 2018-02-07 | 2018-08-14 | 深圳壹账通智能科技有限公司 | 应用测试方法、装置、计算机设备和存储介质 |
CN108874569A (zh) * | 2018-05-31 | 2018-11-23 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN109144881A (zh) * | 2018-09-07 | 2019-01-04 | 东软集团股份有限公司 | Monkey测试方法、装置、终端设备及存储介质 |
CN109783389A (zh) * | 2019-01-22 | 2019-05-21 | 未来电视有限公司 | 元素控件自动测试方法、装置及电子设备 |
CN111580902A (zh) * | 2020-04-20 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种基于图片分析的移动端元素定位方法及系统 |
WO2021036599A1 (zh) * | 2019-08-27 | 2021-03-04 | 南京中兴新软件有限责任公司 | 机顶盒测试方法及装置、机顶盒及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070240118A1 (en) * | 2006-02-28 | 2007-10-11 | Ido Keren | System, method, and software for testing a software application |
CN101241466A (zh) * | 2007-02-08 | 2008-08-13 | 深圳迈瑞生物医疗电子股份有限公司 | 一种嵌入式软件的测试方法和系统 |
CN104881364A (zh) * | 2015-06-26 | 2015-09-02 | 上海斐讯数据通信技术有限公司 | 应用于安卓系统的自动化测试方法及系统 |
-
2016
- 2016-01-21 CN CN201610040884.2A patent/CN105718370A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070240118A1 (en) * | 2006-02-28 | 2007-10-11 | Ido Keren | System, method, and software for testing a software application |
CN101241466A (zh) * | 2007-02-08 | 2008-08-13 | 深圳迈瑞生物医疗电子股份有限公司 | 一种嵌入式软件的测试方法和系统 |
CN104881364A (zh) * | 2015-06-26 | 2015-09-02 | 上海斐讯数据通信技术有限公司 | 应用于安卓系统的自动化测试方法及系统 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106168923A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种功能遍历与界面遍历方法及系统 |
CN106294152A (zh) * | 2016-08-09 | 2017-01-04 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106294152B (zh) * | 2016-08-09 | 2019-03-12 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106502895A (zh) * | 2016-10-21 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种自动化测试信息生成装置及方法 |
CN106814943A (zh) * | 2016-12-20 | 2017-06-09 | 武汉斗鱼网络科技有限公司 | 一种计算机与安卓设备的交互方法及系统 |
CN107122295A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 测试用例脚本的生成方法和装置 |
CN107040818A (zh) * | 2017-03-31 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 用于安卓电视的布局层级分析方法及系统 |
CN107040818B (zh) * | 2017-03-31 | 2019-08-02 | 武汉斗鱼网络科技有限公司 | 用于安卓电视的布局层级分析方法及系统 |
CN106998467A (zh) * | 2017-04-18 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 媒体播放质量测试方法和装置 |
CN107577594A (zh) * | 2017-07-12 | 2018-01-12 | 捷开通讯(深圳)有限公司 | 记录测试异常的方法、智能终端及具有存储功能的装置 |
CN108399124B (zh) * | 2018-02-07 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 应用测试方法、装置、计算机设备和存储介质 |
CN108399124A (zh) * | 2018-02-07 | 2018-08-14 | 深圳壹账通智能科技有限公司 | 应用测试方法、装置、计算机设备和存储介质 |
CN108874569A (zh) * | 2018-05-31 | 2018-11-23 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN108874569B (zh) * | 2018-05-31 | 2021-07-30 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN109144881A (zh) * | 2018-09-07 | 2019-01-04 | 东软集团股份有限公司 | Monkey测试方法、装置、终端设备及存储介质 |
CN109144881B (zh) * | 2018-09-07 | 2022-06-03 | 东软集团股份有限公司 | Monkey测试方法、装置、终端设备及存储介质 |
CN109783389A (zh) * | 2019-01-22 | 2019-05-21 | 未来电视有限公司 | 元素控件自动测试方法、装置及电子设备 |
WO2021036599A1 (zh) * | 2019-08-27 | 2021-03-04 | 南京中兴新软件有限责任公司 | 机顶盒测试方法及装置、机顶盒及计算机可读存储介质 |
CN111580902A (zh) * | 2020-04-20 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种基于图片分析的移动端元素定位方法及系统 |
CN111580902B (zh) * | 2020-04-20 | 2024-01-26 | 微梦创科网络科技(中国)有限公司 | 一种基于图片分析的移动端元素定位方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718370A (zh) | 一种Android设备测试方法及测试装置 | |
CN111756575B (zh) | 存储服务器的性能分析方法及装置、电子设备 | |
CN109871326B (zh) | 一种脚本录制的方法和装置 | |
US8527950B2 (en) | Verification of software applications | |
US20200081963A1 (en) | Automated file merging through content classification | |
CN112181804B (zh) | 一种参数校验方法、设备以及存储介质 | |
CN103257919B (zh) | 脚本程序检查方法和装置 | |
CN109308254B (zh) | 一种测试方法、装置及测试设备 | |
CN109446107A (zh) | 一种源代码检测方法及装置、电子设备 | |
CN110287696A (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
KR101979329B1 (ko) | 바이너리의 취약점을 유발하는 입력데이터 위치 추적 방법 및 그 장치 | |
CN103559123A (zh) | 基于VxWorks操作系统的函数调用栈分析方法及装置 | |
US9091723B2 (en) | Concurrent test instrumentation | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测系统 | |
Beyer et al. | Verification-aided debugging: An interactive web-service for exploring error witnesses | |
CN112306841B (zh) | 轨道业务的自动化测试方法、装置及设备 | |
US20140229923A1 (en) | Commit sensitive tests | |
CN106201859A (zh) | 一种回归测试方法及系统 | |
CN110737573B (zh) | 用户界面ui自动化测试的方法和装置 | |
US20220206773A1 (en) | Systems and methods for building and deploying machine learning applications | |
CN110276443A (zh) | 模型转换一致性验证及分析方法、装置及存储介质 | |
CN113110870B (zh) | 一种资源打包管理方法、装置、设备及存储介质 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
US8954310B2 (en) | Automatic designation of equivalent variable values | |
CN114676061A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |
|
RJ01 | Rejection of invention patent application after publication |