新書推薦:
《
德国天才4:断裂与承续
》
售價:NT$
500.0
《
妈妈的情绪,决定孩子的未来
》
售價:NT$
194.0
《
推拿纲目
》
售價:NT$
1836.0
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:NT$
1112.0
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:NT$
347.0
《
血色帝国:近代英国社会与美洲移民
》
售價:NT$
265.0
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:NT$
811.0
《
唐宋绘画史 全彩插图版
》
售價:NT$
449.0
|
編輯推薦: |
国内第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 Appium3
1.3.2 uiautomator4
1.3.3 Robotium4
第2章 测试开发环境搭建6
2.1 JDK安装及其环境变量配置7
2.2 Eclipse的安装9
2.3 Android SDK的安装及环境变量配置9
2.4 ADT插件的安装12
2.5 Genymotion12
第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 jar22
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 安装Recorder38
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 登录页面测试用例286
7.2.2 登录页面用例386
7.2.3 添加任务页面测试用例93
7.2.4 任务列表页面测试用例96
7.2.5 任务编辑页面测试用例97
7.2.6 退出功能验证102
第8章 批量运行测试代码104
8.1 TestSuite105
8.2 Runner107
8.3 生成JUnit格式的report111
第9章 持续集成115
9.1 持续集成简介116
9.2 持续集成工具116
9.3 编译todolist项目源码119
9.3.1 安装Ant119
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 uiautomator170
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 job200
12.5 代码覆盖率展现204
第13章 Android Studio和Gradle206
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
|
內容試閱:
|
10.1crash处理机制
当自动化测试用例的数目比较大时,批量运行的时候,可能会出现这种情况:当用例运行时,因为一些原因导致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合并成一份就可以了。
|
|