robotium的安卓ui自动化测试实现(源码)
随着互联网和智能手机的不断发展,移动应用的数量也急剧增长,安卓平台的应用复杂多变,高效快速的开发产品对于制造商来说十分重要,因此又快、又好的对产品进行测试更是整个产品开发过程的重中之重,传统的手工测试操作的重复性很高、效率低下,不能满足如今日益增长的测试需求。本文设计的Android UI自动化测试工具,主要针对手工测试的局限性,基于Robotium框架实现。对Robotium框架进行了功能的改进和完善,并提供了四种测试用例的编写方式,同时提供了测试报告生成、错误跳转、截图和日志输出的功能,以方便测试人员验证自动化测试过程中的问题。
目录
摘要 1
关键词 1
Abstract 1
Keywords 1
1 绪论 1
1.1研究背景 1
1.2国内外研究状况 2
1.2.1国内研究现状 2
1.2.2国外研究现状 2
1.3应用前景 2
1.4主要研究内容 3
2 开发平台与相关技术 3
2.1系统所需配置 3
2.2系统开发平台与关键技术介绍 3
2.2.1Eclipse概述 3
2.2.2Android SDK概述 3
2.2.3Robotium概述 3
2.2.4jxl概述 4
2.2.5log4j概述 5
2.2.6Android Instrumentation测试框架 5
2.2.7Android 数字签名技术 5
2.2.8UI Automator Viewer可视化调试工具 6
3 系统分析与描述 6
3.1 需求描述 6
3.2可行性分析 6
3.3系统总体框架 7
3.4功能模块设计 8
3.4.1 配置文件 8
3.4.2 控件的定义 8
3.4.3 基本操作的定义 9
3.4.4 断言的定义 9
3.4.5 关键字驱动 9
3.4.6编写测试用例 10
3.4.7 *好棒文|www.hbsrm.com +Q: ¥351916072$
测试结果、截图与日志输出 11
4 系统功能实现 11
4.1 系统环境搭建与运行准备工作 11
4.1.1系统环境搭建 11
4.1.2运行准备工作 11
4.2 系统主要功能与实现成果 14
4.2.1面向过程的测试用例 17
4.2.2面向对象的测试用例 17
4.2.3Excel表的测试用例 18
4.3 系统主要功能实现方法 19
4.3.1启动客户端的实现方法 19
4.3.2查找控件的实现方法 19
4.3.3执行测试用例的实现方法 20
4.3.4截图的实现方法 21
4.3.5错误日志的实现方法 21
5 系统测试 22
5.1 启动被测程序的测试用例 22
5.2 测试结果的测试用例 23
5.3 截图的测试用例 23
5.4 日志输出的测试用例 24
6 总结和展望 25
6.1 总结 25
6.2 展望 25
致谢 25
参考文献 26
基于robotium的安卓UI自动化测试实现
引言
1 绪论
1.1研究背景
自21世纪我们步入移动互联网时代以来,移动终端也逐渐兴起,如今的移动设备主要运行以安卓和ios为代表的操作系统,而安卓属于开源软件且价格上比ios更占优势,因此市面上安卓的设备占据了大半部分。
由于商业模式的驱动,安卓应用的功能日益丰富,版本迭代的速度也大大加快,导致软件的质量不断下降,而项目迭代的每个版本都是在旧版本的基础上增加或修改少量的功能。但是由于对代码进行了改动,因此未发生变化的功能也需要进行测试,避免修改过程中引入新的缺陷。因此软件测试成了软件产品开发过程中的重要步骤。
测试的过程伴随着整个软件开发的周期,测试的好坏有直接影响了软件的质量。在传统的移动端测试中,手工测试占比比较大,但手工测试同时存在着测试人员能力不一致、人力消耗大等不足,因此高效率的自动化测试可以从根本上解决这个问题。虽然已经有一些自动化测试工具应用到实际中来,但是大部分都存在着一些问题,所以本文利用已有的测试框架Robotium,对它进行完善和改进,增加了截图和日志输出等功能,使测试人员更方便的进行测试。
1.2国内外研究状况
1.2.1国内研究现状
国内自动化测试相比国外来说起步较晚,阿里巴巴开发了TMTS测试框架,支持对网页的测试,百度也发布了MTC测试工具,主要用在性能测试方面。这两种都没有很好地实现UI功能测试,因此对于移动应用来说用处并不大。
1.2.2国外研究现状
国外进行自动化测试的研究可以追溯到1990年,他们有五种典型的测试框架:基于工具的测试架构、模块化测试架构、测试库测试架构、关键字驱动测试架构、数据驱动测试架构[1]。不仅这些,他们还有许多实用性的测试工具,例如GUI测试工具、QTP测试工具,还有许多国内企业也常用的LoadRunner。Android SDK是由Google提供的。并且给出Monkey、MonkeyRunner和Instrumentation三种方式来进行Android应用的自动化的测试。三者之中,Monkey是一种提供随机压力测试的自动化工具。在众多的Android应用中,大部分的应用都是基于GUI的,即图形用户界面。Monkey可以通过向系统不断地发出各种伪随机的事件流的方式,如发送按键输入、触摸屏输入、手势输入等与正常使用场景类似事件,对被测的Android应用进行随机且有效的压力测试[2]。通过压力测试中响应时间和崩溃情况等数据,可以分析得出被测Android应用的是否存在性能问题。本文中要讲的Robotium主要用于模仿用户的场景测试。Robotium对Android自带的Instrument测试类进行了封装,是另一种通过InstrumentationTestRunner来完成Android应用测试的框架。Robotium支持Activity、Dialog、Toast、Menu等控件,对WebView也有较好的支持。便于测试人员对Android应用编写强健而有效的自动化黑盒及白盒测试。
目录
摘要 1
关键词 1
Abstract 1
Keywords 1
1 绪论 1
1.1研究背景 1
1.2国内外研究状况 2
1.2.1国内研究现状 2
1.2.2国外研究现状 2
1.3应用前景 2
1.4主要研究内容 3
2 开发平台与相关技术 3
2.1系统所需配置 3
2.2系统开发平台与关键技术介绍 3
2.2.1Eclipse概述 3
2.2.2Android SDK概述 3
2.2.3Robotium概述 3
2.2.4jxl概述 4
2.2.5log4j概述 5
2.2.6Android Instrumentation测试框架 5
2.2.7Android 数字签名技术 5
2.2.8UI Automator Viewer可视化调试工具 6
3 系统分析与描述 6
3.1 需求描述 6
3.2可行性分析 6
3.3系统总体框架 7
3.4功能模块设计 8
3.4.1 配置文件 8
3.4.2 控件的定义 8
3.4.3 基本操作的定义 9
3.4.4 断言的定义 9
3.4.5 关键字驱动 9
3.4.6编写测试用例 10
3.4.7 *好棒文|www.hbsrm.com +Q: ¥351916072$
测试结果、截图与日志输出 11
4 系统功能实现 11
4.1 系统环境搭建与运行准备工作 11
4.1.1系统环境搭建 11
4.1.2运行准备工作 11
4.2 系统主要功能与实现成果 14
4.2.1面向过程的测试用例 17
4.2.2面向对象的测试用例 17
4.2.3Excel表的测试用例 18
4.3 系统主要功能实现方法 19
4.3.1启动客户端的实现方法 19
4.3.2查找控件的实现方法 19
4.3.3执行测试用例的实现方法 20
4.3.4截图的实现方法 21
4.3.5错误日志的实现方法 21
5 系统测试 22
5.1 启动被测程序的测试用例 22
5.2 测试结果的测试用例 23
5.3 截图的测试用例 23
5.4 日志输出的测试用例 24
6 总结和展望 25
6.1 总结 25
6.2 展望 25
致谢 25
参考文献 26
基于robotium的安卓UI自动化测试实现
引言
1 绪论
1.1研究背景
自21世纪我们步入移动互联网时代以来,移动终端也逐渐兴起,如今的移动设备主要运行以安卓和ios为代表的操作系统,而安卓属于开源软件且价格上比ios更占优势,因此市面上安卓的设备占据了大半部分。
由于商业模式的驱动,安卓应用的功能日益丰富,版本迭代的速度也大大加快,导致软件的质量不断下降,而项目迭代的每个版本都是在旧版本的基础上增加或修改少量的功能。但是由于对代码进行了改动,因此未发生变化的功能也需要进行测试,避免修改过程中引入新的缺陷。因此软件测试成了软件产品开发过程中的重要步骤。
测试的过程伴随着整个软件开发的周期,测试的好坏有直接影响了软件的质量。在传统的移动端测试中,手工测试占比比较大,但手工测试同时存在着测试人员能力不一致、人力消耗大等不足,因此高效率的自动化测试可以从根本上解决这个问题。虽然已经有一些自动化测试工具应用到实际中来,但是大部分都存在着一些问题,所以本文利用已有的测试框架Robotium,对它进行完善和改进,增加了截图和日志输出等功能,使测试人员更方便的进行测试。
1.2国内外研究状况
1.2.1国内研究现状
国内自动化测试相比国外来说起步较晚,阿里巴巴开发了TMTS测试框架,支持对网页的测试,百度也发布了MTC测试工具,主要用在性能测试方面。这两种都没有很好地实现UI功能测试,因此对于移动应用来说用处并不大。
1.2.2国外研究现状
国外进行自动化测试的研究可以追溯到1990年,他们有五种典型的测试框架:基于工具的测试架构、模块化测试架构、测试库测试架构、关键字驱动测试架构、数据驱动测试架构[1]。不仅这些,他们还有许多实用性的测试工具,例如GUI测试工具、QTP测试工具,还有许多国内企业也常用的LoadRunner。Android SDK是由Google提供的。并且给出Monkey、MonkeyRunner和Instrumentation三种方式来进行Android应用的自动化的测试。三者之中,Monkey是一种提供随机压力测试的自动化工具。在众多的Android应用中,大部分的应用都是基于GUI的,即图形用户界面。Monkey可以通过向系统不断地发出各种伪随机的事件流的方式,如发送按键输入、触摸屏输入、手势输入等与正常使用场景类似事件,对被测的Android应用进行随机且有效的压力测试[2]。通过压力测试中响应时间和崩溃情况等数据,可以分析得出被测Android应用的是否存在性能问题。本文中要讲的Robotium主要用于模仿用户的场景测试。Robotium对Android自带的Instrument测试类进行了封装,是另一种通过InstrumentationTestRunner来完成Android应用测试的框架。Robotium支持Activity、Dialog、Toast、Menu等控件,对WebView也有较好的支持。便于测试人员对Android应用编写强健而有效的自动化黑盒及白盒测试。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1749.html