精通移動App測試實戰(zhàn) 技術 工具和案例
定 價:69 元
- 作者:于涌 王磊 曹向志
- 出版時間:2016/3/1
- ISBN:9787115417077
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:442
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書全面講解了移動平臺測試方面的技術、技巧、工具和測試用例等實戰(zhàn)知識。內容涵蓋主流的測試工具,包括JUnit、Monkey、MonkeyRunner、Robotium、UIAutomator、Appium以及性能測試利器LoadRunner、手機端性能監(jiān)控工具Emmagee等;重點講解移動平臺的主要實戰(zhàn)技術,如單元測試、功能測試、性能測試、UI測試、手游測試、自動化測試、測試用例管理、持續(xù)集成、腳本錄制等。書中結合實例對各個工具進行深入講解,真正做到學以致用。本書既是一本真正幫助讀者學習移動測試中用到的所有技術的實戰(zhàn)教程,也是一本名副其實的、貼近實戰(zhàn)的移動端測試指南。
本書適合測試初學者、測試工程師、測試經(jīng)理、移動開發(fā)人員和游戲開發(fā)人員學習借鑒,也可以作為大專院校相關專業(yè)師生和培訓學校的教學用書。
業(yè)界知名的測試專家,多本暢銷書作者
移動測試工具全覆蓋
Monkey、MonkeyRunner、Robotium、uiautomator、Appium
-移動測試流程全覆蓋
操作系統(tǒng)、系統(tǒng)調試、自動化腳本開發(fā)、測試用例批量執(zhí)行、持續(xù)集成
-移動自動化測試框架全實例講解
-移動客戶端性能全實例剖析
移動終端性能指標
移動端性能測試工具
LoadRunner在移動端性能測試的應用
于涌,畢業(yè)于北京大學計算機系,先后擔高級程序員、測試分析師、高級測試經(jīng)理等職位。擁有二十年豐富的開發(fā)、測試及管理經(jīng)驗,F(xiàn)致力于軟件測試理論和實踐研究,尤其擅長自動化測試工具應用、性能測試和單元測試等。曾為多個大型軟件公司、高校企事業(yè)和專業(yè)培訓機構提供軟件測試、性能測試、安全測試、移動測試、自動化測試等理論和相關工具應用方面的咨詢、培訓和實施指導工作,具有豐富的實踐和教學經(jīng)驗。多本軟件測試暢銷書的作者。
第1章 Android系統(tǒng)基礎內容介紹 1
1.1 Android系統(tǒng)介紹 2
1.2 Android系統(tǒng)架構 2
1.3 Android權限系統(tǒng) 4
1.4 Android相關的一些屬性簡介 4
1.5 搭建Android開發(fā)環(huán)境 4
1.5.1 JDK的安裝與配置 5
1.5.2 Android SDK的安裝 8
1.5.3 Eclipse的安裝 11
1.5.4 ADT的安裝與配置 12
1.5.5 集成版本的下載 15
1.6 創(chuàng)建模擬器 15
1.7 創(chuàng)建一個Android項目 20
1.7.1 創(chuàng)建一個新的Android
項目 20
1.7.2 如何填寫Android項目
信息 20
1.7.3 配置Android項目
和活動信息 21
1.7.4 設計程序的原型UI 24
1.7.5 依據(jù)UI原型實現(xiàn)Android
項目的布局文件 24
1.7.6 布局文件內容的理解 26
1.7.7 Android項目的源代碼
實現(xiàn) 27
1.7.8 AndroidManifest.xml文件
講解 30
1.7.9 運行Android項目 33
第2章 JUnit框架基礎 37
2.1 JUnit框架介紹 38
2.2 JUnit在Android開發(fā)中的應用 39
2.2.1 單元測試的重要性 39
2.2.2 單元測試實施者 39
2.2.3 單元測試測試哪些內容 40
2.2.4 單元測試不測試哪些
內容 40
2.2.5 創(chuàng)建基于Android的測試
項目 40
2.3 應用JUnit對Android項目進行
單元測試 42
2.3.1 JUnit基于Android項目
TestCase的應用 42
2.3.2 JUnit基于Android項目
TestSuite的應用 50
第3章 ADB命令 57
3.1 Android調試橋介紹 58
3.2 ADB相關指令實例講解 60
3.2.1 adb devices指令實例
講解 60
3.2.2 adb install指令實例
講解 62
3.2.3 adb uninstall指令實例
講解 63
3.2.4 adb pull指令實例講解 67
3.2.5 adb push指令實例講解 70
3.2.6 adb shell指令實例講解 73
3.2.7 adb shell dumpsys battery
指令實例講解 75
3.2.8 adb shell dumpsys WiFi
指令實例講解 76
3.2.9 adb shell dumpsys power
指令實例講解 77
3.2.10 adb shell dumpsys telephony.
registry指令實例講解 78
3.2.11 adb shell cat /proc/cpuinfo指令實例講解 79
3.2.12 adb shell cat /proc/meminfo
指令實例講解 80
3.2.13 adb shell cat /proc/iomem
指令實例講解 80
3.2.14 獲取手機型號指令實例
講解 81
3.2.15 獲取手機處理器信息
指令實例講解 81
3.2.16 獲取手機內存信息指令
實例講解 82
3.2.17 獲取手機屏幕分辨率
信息指令實例講解 82
3.2.18 獲取手機系統(tǒng)版本信息
指令實例講解 83
3.2.19 獲取手機內核版本信息
指令實例講解 83
3.2.20 獲取手機運營商信息
指令實例講解 83
3.2.21 獲取手機網(wǎng)絡類型信息
指令實例講解 83
3.2.22 獲取手機串號信息指令
實例講解 84
3.2.23 adb shell df指令實例
講解 84
3.2.24 adb shell dmesg指令實例
講解 84
3.2.25 adb shell dumpstate指令
實例講解 86
3.2.26 adb get-serialno指令實例
講解 87
3.2.27 adb get-state指令實例
講解 87
3.2.28 adb logcat指令實例
講解 88
3.2.29 adb bugreport指令實例
講解 90
3.2.30 adb jdwp指令實例
講解 91
3.2.31 adb start-server指令實例
講解 92
3.2.32 adb kill-server指令實例
講解 92
3.2.33 adb forward指令實例
講解 92
3.2.34 am指令實例講解 93
3.2.35 pm指令實例講解 94
3.3 手機模擬器相關的一些操作命令
實例講解 95
3.3.1 模擬器上模擬手機來電
命令實例講解 95
3.3.2 模擬器上模擬發(fā)送短信
命令實例講解 98
3.3.3 模擬器上模擬網(wǎng)絡相關
命令實例講解 98
3.3.4 修改模擬器的大小比例
相關命令實例講解 100
3.3.5 模擬器的其他命令及
如何退出模擬器控制臺 100
3.4 模擬器相關命令實例講解 101
3.4.1 創(chuàng)建安卓虛擬設備命令
實例講解 103
3.4.2 重命名模擬器命令實例
講解 107
3.4.3 查看模擬器命令實例
講解 108
3.4.4 刪除模擬器命令實例
講解 109
3.4.5 啟動模擬器命令實例
講解 109
3.5 創(chuàng)建安卓項目相關命令實例
講解 110
3.6 基于控制臺命令行相關命令使用
指導 112
第4章 Monkey工具使用 115
4.1 Monkey工具簡介 116
4.2 Monkey演示示例 116
4.2.1 第一個Monkey示例(針對
日歷應用程序) 116
4.2.2 如何查看Monkey執(zhí)行
過程信息 118
4.2.3 如何保持設定各類事件
執(zhí)行比例 129
4.3 Monkey相關參數(shù)講解 130
4.3.1 -s參數(shù)的示例講解 131
4.3.2 -p參數(shù)的示例講解 132
4.3.3 --throttle參數(shù)的示例
講解 133
4.3.4 --pct-touch 參數(shù)
的示例講解 133
4.3.5 --pct-motion 參數(shù)
的示例講解 133
4.3.6 --pct-trackball
參數(shù)的示例講解 133
4.3.7 --pct-nav 參數(shù)
的示例講解 134
4.3.8 --pct-majornav
參數(shù)的示例講解 134
4.3.9 --pct-syskeys
參數(shù)的示例講解 134
4.3.10 --pct-appswitch
參數(shù)的示例講解 135
4.3.11 --pct-anyevent
參數(shù)的示例講解 135
4.3.12 --hprof參數(shù)的示例講解
135
4.3.13 --ignore-crashes參數(shù)的
示例講解 135
4.3.14 --ignore-timeouts參數(shù)的
示例講解 136
4.3.15 --ignore-security-exceptions
參數(shù)的示例講解 136
4.3.16 --kill-process-after-error
參數(shù)的示例講解 136
4.3.17 --monitor-native-crashes
參數(shù)的示例講解 137
4.3.18 --wait-dbg參數(shù)的示例
講解 137
4.3.19 Monkey綜合示例 137
4.4 Monkey相關命令介紹 137
4.4.1 DispatchPointer命令
介紹 149
4.4.2 DispatchTrackball命令介紹
151
4.4.3 DispatchKey命令介紹 152
4.4.4 DispatchFlip命令介紹 153
4.4.5 LaunchActivity命令
介紹 153
4.4.6 LaunchInstrumentation命令
介紹 153
4.4.7 UserWait命令介紹 153
4.4.8 RunCmd命令介紹 153
4.4.9 Tap命令介紹 154
4.4.10 ProfileWait命令介紹 154
4.4.11 DeviceWakeUp命令
介紹 154
4.4.12 DispatchString命令
介紹 154
4.5 Monkey如何執(zhí)行腳本 154
第5章 MonkeyRunner工具使用 159
5.1 MonkeyRunner工具簡介 160
5.2 MonkeyRunner安裝部署 160
5.3 MonkeyRunner演示示例 163
5.3.1 第一個MonkeyRunner示例
(針對游戲) 163
5.3.2 如何利用monkey_recorder.py
進行腳本錄制 163
5.3.3 如何利用monkey_playback.py
進行腳本回放 169
5.3.4 如何利用monkeyhelp.html
文件獲取讀者想要的 170
5.4 MonkeyRunner腳本手工編寫 171
5.4.1 MonkeyRunner關鍵類
介紹 171
5.4.2 MonkeyRunner腳本
編寫 172
5.4.3 MonkeyRunner腳本
執(zhí)行 173
5.5 MonkeyRunner樣例腳本 174
5.5.1 按Home鍵 174
5.5.2 設備重啟 175
5.5.3 設備喚醒 175
5.5.4 按菜單鍵 175
5.5.5 輸入內容 175
5.5.6 控制多個設備 175
5.5.7 對比截屏和已存在
圖片 175
5.5.8 單擊操作 176
5.5.9 安裝APK包 176
5.5.10 卸載APK包 176
5.5.11 啟動Activity 176
第6章 Robotium自動化測試框架 177
6.1 Robotium自動化測試框架
簡介 178
6.2 Robotium環(huán)境搭建 178
6.3 第一個Robotium示例(針對記事本
應用程序) 178
6.3.1 記事本樣例下載 178
6.3.2 記事本樣例項目導入到
Eclipse 179
6.3.3 記事本樣例項目運行 182
6.3.4 記事本樣例功能介紹 184
6.3.5 Robotium測試用例項目
結構 184
6.3.6 Robotium測試用例實現(xiàn)
代碼 185
6.3.7 Robotium測試用例代碼
解析 187
6.3.8 測試用例設計思路
分析 194
6.3.9 Robotium測試用例執(zhí)行
過程 195
6.4 用Robotium實現(xiàn)對APK或有源碼
的項目實施測試 200
6.4.1 基于有源代碼應用的
Robotium自動化測試 200
6.4.2 基于APK包應用的
Robotium測試項目 207
6.5 用Robotium Recorder錄制
腳本 214
6.5.1 Robotium Recorder插件的
安裝 214
6.5.2 應用Robotium Recorder
錄制有源代碼的項目 217
6.5.3 應用Robotium Recorder
錄制APK包應用 223
6.6 Robotium獲取控件的方法 232
6.6.1 根據(jù)控件的ID獲取
控件 232
6.6.2 根據(jù)光標位置獲取
控件 238
6.7 測試用例腳本的批量運行 241
6.7.1 測試用例管理 241
6.7.2 測試用例執(zhí)行 249
6.7.3 生成測試報告 254
6.8 持續(xù)集成 259
6.8.1 什么叫持續(xù)集成 259
6.8.2 持續(xù)集成環(huán)境部署 260
6.8.3 創(chuàng)建Jenkins job 264
6.8.4 生成build.xml文件 268
6.8.5 安裝測試包和被測
試包 272
6.8.6 Jenkins配置測試報告 273
6.8.7 驗證持續(xù)集成成果 275
6.8.8 關于持續(xù)集成思路
拓展 278
第7章 自動化測試工具—UI Automator
實戰(zhàn) 281
7.1 為什么選擇UI Automator 282
7.2 UI Automator演示示例 282
7.2.1 UI Automator Viewer工具使用介紹 283
7.2.2 應用UI Automator等完成
單元測試用例設計基本
步驟 288
7.2.3 理解UI Automator Viewer工具捕獲的元素屬性
信息 291
7.2.4 UI Automator運行環(huán)境
搭建過程 292
7.2.5 編寫第一個UI Automator
測試用例 296
7.2.6 測試用例實現(xiàn)代碼及其
講解 302
7.2.7 查看已安裝的SDK
版本 308
7.2.8 創(chuàng)建build.xml等相關
文件 309
7.2.9 編譯生成JAR文件 311
7.2.10 上傳生成JAR文件到
手機 313
7.2.11 運行測試用例并分析測試
結果 313
7.3 UI Automator主要的對象類 316
7.3.1 UiDevice類及其接口調用
實例 316
7.3.2 UiSelector類及其接口調用
實例 318
7.3.3 UiObject類及其接口調用
實例 320
7.3.4 UiCollection類及其接口
調用實例 326
7.3.5 UiWatcher類及其接口調用
實例 327
7.3.6 UiScrollable類及其接口
調用實例 329
7.3.7 Configurator類及其接口
調用實例 332
7.4 UI Automator常見問題解答 333
7.4.1 UI Automator對中文支持
問題 333
7.4.2 UI Automator如何執(zhí)行
單個類里的單個測試
用例 334
7.4.3 UI Automator如何執(zhí)行
單個類里的多個測試
用例 336
7.4.4 UI Automator腳本
示例 338
第8章 自動化測試工具—Appium
實戰(zhàn) 341
8.1 為什么選擇Appium 342
8.1.1 Appium的理念 342
8.1.2 Appium的設計 342
8.1.3 Appium的相關概念 343
8.2 Appium環(huán)境部署 344
8.2.1 Windows環(huán)境部署 344
8.2.2 Appium樣例程序的
下載 354
8.2.3 Selenium類庫的下載 355
8.2.4 建立測試工程 355
8.3 Appium元素定位的3個利器 371
8.3.1 應用UIAutomator Viewer
獲得元素信息的實例 371
8.3.2 應用Inspector獲得元素
信息的實例 378
8.3.3 應用Chrome瀏覽器ADB
插件獲得元素信息的
實例 382
8.4 多種界面控件的定位方法
介紹 386
8.4.1 根據(jù)ID定位元素 386
8.4.2 根據(jù)Name定位元素 386
8.4.3 根據(jù)ClassName定位
元素 386
8.4.4 根據(jù)Content-desc定位
元素 387
8.4.5 根據(jù)Xpath定位元素 387
8.5 多種界面控件的操作方法
介紹 388
8.5.1 長按操作 389
8.5.2 拖曳操作 391
8.5.3 滑動操作 394
8.5.4 多點操作 396
8.6 捕獲異常、創(chuàng)建快照 397
8.6.1 安裝TestNG插件 397
8.6.2 創(chuàng)建測試項目 400
8.6.3 創(chuàng)建異常監(jiān)聽類 404
8.6.4 創(chuàng)建測試項目類 404
8.6.5 測試項目運行結果 407
第9章 移動平臺性能測試 411
9.1 移動平臺性能測試簡介 412
9.1.1 性能測試的8大分類 412
9.1.2 移動終端的性能指標 413
9.2 移動端性能測試工具 414
9.2.1 TraceView工具使用
介紹 415
9.2.2 SysTrace工具使用
介紹 417
9.2.3 Emmagee工具使用
介紹 422
9.2.4 查看應用啟動耗時 426
9.2.5 獲得電池電量和電池
溫度 427
9.2.6 獲得最耗資源的應用 428
9.2.7 獲得手機設備電池電量
信息 430
9.2.8 獲得手機應用幀率
信息 430
9.3 LoadRunner在移動端性能測試的
應用 437