编辑推荐
国内第1本原创的Robotium图书
紧跟移动平台开发、测试的热点技术
全面讲解了用Robotium建立测试工程、测试项目搭建、自动化测试脚本编写、测试框架完善、Robotium自动化测试用例、测试代码批量运行、持续集成、Crash处理、跨应用解决方案、代码覆盖率、代码覆盖率展现、常见错误及解决方法等实战技术和技巧,帮助读者尽快学懂用Robotium进行移动测试。
内容简介
《手机测试Robotium实战教程》讲解了用Robotium进行移动测试的主要技术,并通过实例,让读者达到学以致用的目的,主要内容为:移动端自动化测试的工具选择、测试开发环境搭建、Robotium入门、建立测试工程、运行第1个Robotium测试实例、被测App详细功能介绍、实战测试项目搭建、自动化测试脚本编写、测试框架完善、Robotium自动化测试用例、测试代码批量运行、持续集成、Crash处理、跨应用解决方案、代码覆盖率、代码覆盖率展现、常见错误及解决方法等实战技术和技巧,将帮助读者尽快学懂用Robotium进行移动测试的知识。
《手机测试Robotium实战教程》适合移动端功能测试人员、Web端功能测试人员、自动化测试人员、测试开发人员、移动端开发人员阅读学习,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。
作者简介
杨志伟,从2011年开始接触移动端自动化测试工作,积累了丰富的自动化测试案例实战经验,擅长整合主流无线端自动化测试框架的运用。曾就职于知名外企RingCentral,负责Mobile自动化测试框架的开发和持续改进工作;现就职于网龙网络有限公司,负责BDD模式的运用和推广工作。
目录
目 录
第1章 自动化测试简介 1
1.1 何为自动化测试 2
1.2 自动化测试和手动测试的对比 2
1.3 移动端自动化测试工具的选择 3
1.3.1 Appium 3
1.3.2 uiautomator 4
1.3.3 Robotium 4
第2章 测试开发环境搭建 6
2.1 JDK安装及其环境变量配置 7
2.2 Eclipse的安装 9
2.3 Android SDK的安装及环境变量配置 9
2.4 ADT插件的安装 12
2.5 Genymotion 12
第3章 Robotium入门 18
3.1 Robotium简介 19
3.2 Robotium版 “Hello World” 19
3.2.1 导入被测试源码 19
3.2.2 新建测试工程 21
3.2.3 添加Robotium jar 22
3.2.4 新建第一个自动化测试类 23
3.2.5 运行第一个Robotium例子 24
3.3 基于APK的自动化测试 25
3.3.1 APK重签名 25
3.3.2 创建基于APK测试的测试工程 27
3.3.3 编写基于APK自动化测试的“HelloWorld”版 27
3.3.4 安装应用、运行自动化测试用例 29
3.4 基于APK测试的ID定位 30
3.5 Robotium API简介 35
3.6 Robotium录制回放 38
3.6.1 安装Recorder 38
3.6.2 录制回放脚本 41
第4章 第一个实战项目 45
4.1 被测App简介 46
4.2 导入ToDoList APP源码 46
4.3 被测App的详细功能 50
第5章 实战测试项目搭建 52
5.1 搭建实战测试项目 53
5.2 第一个测试用例 54
5.3 第一个自动化测试脚本 55
5.4 查看控件ID的工具 60
5.4.1 hierarchyviewer.bat的用法 61
5.4.2 uiautomatorviewer.bat的用法 62
第6章 完善测试框架 64
6.1 编写抽象父类 65
6.2 提取控件ID类 71
6.3 操作统一入口类 74
6.4 更新抽象父类及测试用例 75
6.5 调试简介 79
第7章 更多自动化测试用例 84
7.1 包管理 85
7.2 编写更多自动化测试用例 85
7.2.1 登录页面测试用例2 86
7.2.2 登录页面用例3 86
7.2.3 添加任务页面测试用例 93
7.2.4 任务列表页面测试用例 96
7.2.5 任务编辑页面测试用例 97
7.2.6 退出功能验证 102
第8章 批量运行测试代码 104
8.1 TestSuite 105
8.2 Runner 107
8.3 生成JUnit格式的report 111
第9章 持续集成 115
9.1 持续集成简介 116
9.2 持续集成工具 116
9.3 编译todolist项目源码 119
9.3.1 安装Ant 119
9.3.2 将添加build.xml到todolist项目 120
9.3.3 将build.xml添加到
todolisttest项目 124
9.4 Jenkins job的创建 127
9.5 Jenkins job的配置 130
9.6 shell脚本统一管理构建过程 135
9.7 Unit report展示 137
9.8 错误截图展示 142
9.9 参数化运行设备 145
9.10 完整的job配置 147
第10章 Crash处理 150
10.1 crash处理机制 151
10.2 shell部分编码处理 151
10.3 CommonRunner代码逻辑 153
10.4 为Runner1加入crash处理逻辑 159
10.5 制造Crash场景 160
10.6 report合并 163
第11章 跨应用解决方案 169
11.1 uiautomator 170
11.2 服务端编码 177
11.3 发送跨应用请求 183
11.4 跨应用实例 185
11.5 手动部署 188
第12章 代码覆盖率 190
12.1 代码覆盖率的好处 191
12.2 使用EMMA统计代码覆盖率 191
12.3 合并代码覆盖率文件 197
12.4 创建代码覆盖率Jenkins job 200
12.5 代码覆盖率展现 204
第13章 Android Studio和Gradle 206
13.1 Android Studio的安装和配置 207
13.2 Gradle简介与安装 208
13.2.1 Gradle简介 208
13.2.2 Gradle的安装 208
13.3 为Eclipse项目生成gradle配置文件 209
13.4 在Android Studio下新建todolist及其配置 212
13.5 持续集成配置 219
第14章 常见错误及解决方法 223
精彩书摘
《手机测试Robotium实战教程》:
10.1 crash处理机制
当自动化测试用例的数目比较大时,批量运行的时候,可能会出现这种情况:当用例运行时,因为一些原因导致crash了,自动化测试用例无法继续运行下去。在回归测试阶段,要确保所有的自动化测试用例都被执行过,就必须解决这种crash续跑的问题。
理想情况下是,在某个自动化测试用例crash后,启动后续的自动化测试用例继续运行,然后crash前后的测试结果都可以保存下来。
因为是通过启动adb进程来运行自动化测试用例,所以,可以在while循环体内启动自动化测试用例,如果有crash产生,就继续执行循环体内的启动自动化测试用例操作,如果没有crash发生,则终止循环。实现思路是每个自动化测试用例开始运行时,把当前的Case号写入sdcard的某个特定文件中,如crash.txt,第二个自动化测试用例运行时把第二个自动化测试用例的Case号覆盖第一个用例的Case号,这样crash.txt永远保存的是当前运行的Case号,新建一个自动化测试用例来删除crash.txt,这个测试用例放在最后一个执行。这样如果顺利运行的话,没有发生crash,最后一个测试用例被执行到了,crash.txt就会被删除,若循环的判断条件不满足,只会执行一次循环体的内容,如果有crash产生,则继续进入循环体内执行。
因为crash的Case号和所有需要运行的Case号都可以获得,只需重新组织getAllTests的Case列表,即剔除当前Case及其之前的所有Case号,即可从出现crash处的下一个Case继续运行了。
report的处理,如果有crash出现,只需把report的命名加上crash的个数就可以区分出来了,最后再写一个程序把所有的report合并成一份就可以了。
……
前言/序言
手机测试Robotium实战教程 epub pdf mobi txt 电子书 下载 2024
手机测试Robotium实战教程 下载 epub mobi pdf txt 电子书 2024