第1章 概述 1
1.1 Android自动化测试框架概述 1
1.2 本书内容概述 5
第2章 自动化测试框架及应用领域综述 8
2.1 自动化测试框架介绍 9
2.1.1 一个简单的Android App自动化测试过程 9
2.1.2 自动化测试框架基本原理 11
2.2 移动终端自动化测试应用场景 15
2.3 本章小结 17
第3章 Robotium框架工作原理及实践 18
3.1 Robotium常用功能 19
3.1.1 什么是Robotium 19
3.1.2 Robotium提供的类 20
3.1.3 环境搭建 21
3.1.4 Robotium的控件获取、操作及断言 26
3.2 Robotium原理简析 40
3.2.1 Robotium支持Native原理 40
3.2.2 Robotium支持WebView原理 46
3.3 Robotium实践运用 52
3.3.1 控件ID相同时获取控件 52
3.3.2 ListView列表遍历 53
3.3.3 修改Robotium以支持X5WebView 55
3.4 本章小结 58
第4章 Monkey基本原理及扩展应用 60
4.1 Monkey基础知识 61
4.1.1 Monkey概况 61
4.1.2 Monkey参数 61
4.1.3 Monkey事件 65
4.1.4 Monkey环境搭建 69
4.1.5 Monkey启动 70
4.2 Monkey测试方法 71
4.2.1 Monkey测试实例 71
4.2.2 Monkey日志分析 78
4.3 Monkey的基本原理 84
4.3.1 Monkey代码框架 85
4.3.2 Monkey代码逻辑详解 87
4.4 Monkey扩展应用示例 91
4.4.1 Monkey代码重编译执行方法 91
4.4.2 Monkey截图优化 96
4.4.3 Monkey Wi-Fi自动重连优化 102
4.4.4 Monkey扩展应用的优点和缺点 106
4.5 本章小结 106
第5章 UIAutomator框架及实践 107
5.1 UIAutomator简介 108
5.2 UIAutomator解读 109
5.2.1 UIAutomator框架解读 109
5.2.2 UIAutomator原理解读 114
5.2.3 UIAutomatorAPI解读 120
5.3 UIAutomator实战 131
5.3.1 UIAutomator快速上手 132
5.3.2 UIAutomator设计思想 138
5.3.3 UIAutomator实践案例 141
5.4 UIAutomator总结 151
5.4.1 UIAutomator代码规范及建议 151
5.4.2 UIAutomator技巧及封装 152
5.5 本章小结 155
第6章 Appium框架解析及实践 156
6.1 Appium框架概况 157
6.1.1 Appium架构原理 157
6.1.2 Appium框架的优缺点 158
6.2 Appium框架工作解析 159
6.2.1 Appium环境搭建 159
6.2.2 HelloWorld测试示例 163
6.2.3 Desired Capabilities的说明 168
6.2.4 Appium API的解读 171
6.3 Appium框架在腾讯地图中的实践 175
6.3.1 Appium接口的封装 175
6.3.2 测试脚本设计思想 181
6.3.3 Appium在腾讯地图中的测试实践 182
6.3.4 HybridApp的测试方法 189
6.3.5 Appium脚本常见问题及处理方法 191
6.4 本章小结 193
第7章 Android App速度测试 194
7.1 速度测试场景 195
7.2 速度测试的六大方法 196
7.2.1 掐表计时法 198
7.2.2 打印日志计时法 199
7.2.3 图像分析计时法 200
7.2.4 Hook方案计时法 203
7.2.5 网络包分析法 207
7.2.6 各种速度测试方法的优缺点 209
7.3 手机QQ浏览器网页打开速度测试实践案例 209
7.3.1 确定关键指标 209
7.3.2 选择测试方法 210
7.3.3 整体方案 211
7.3.4 解决关键问题 212
7.3.5 速度优化效果 228
7.4 手机QQ浏览器多窗口按钮速度实践案例 228
7.4.1 为什么要做多窗口按钮速度测试 229
7.4.2 什么是多窗口按钮速度测试 229
7.4.3 多窗口按钮速度测试影响因素和测试方法 230
7.4.4 如何进行多窗口按钮速度测试 231
7.5 本章小结 234
第8章 视频性能测试案例 235
8.1 视频性能测试需求分析 236
8.2 视频首帧性能测试方案的设计思路 237
8.2.1 视频播放流程 237
8.2.2 设计思路 238
8.3 视频首帧性能测试方案的具体实现 240
8.3.1 开发工具准备 240
8.3.2 测试环境准备 241
8.3.3 工程部署 242
8.3.4 关键代码和难点分析 244
8.3.5 编译环境配置 262
8.3.6 工具安装 264
8.4 方案优缺点 265
8.5 本章小结 265
第9章 应用宝BVT测试案例 267
9.1 测试工程 268
9.1.1 测试工程概览 268
9.2.1 测试工程签名 269
9.2 测试用例 271
9.2.1 测试用例生命周期 271
9.2.2 测试用例编写 273
9.2.3 测试用例执行 277
9.2.4 测试用例管理 279
9.3 测试报告 279
9.3.1 Spoon介绍 279
9.3.2 结合Spoon的出错重试与截图 282
9.3.3 结合Spoon生成汇总报告 287
9.4 Robotium跨应用 287
9.4.1 UIAutomator Dump方式跨应用 288
9.4.2 UIAutomator结合Instrumentation模式 289
9.5 代码覆盖率 292
9.5.1 覆盖率定义 292
9.5.2 覆盖率工具 293
9.5.3 JaCoCo介绍与实践 295
9.5.4 BVT测试与覆盖率结合 305
9.5.5 指导建议 309
9.6 本章小结 309
第10章 兼容性测试实践 311
10.1 兼容性测试概述 311
10.2 兼容性测试方法 313
10.2.1 手动测试 313
10.2.2 自动化测试 314
10.2.3 云平台测试 324
10.3 兼容性测试思考 336
10.4 本章小结 336