精通移動App測試實(shí)戰(zhàn) 技術(shù) 工具和案例
定 價(jià):69 元
- 作者:于涌 王磊 曹向志
- 出版時(shí)間:2016/3/1
- ISBN:9787115417077
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:442
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書全面講解了移動平臺測試方面的技術(shù)、技巧、工具和測試用例等實(shí)戰(zhàn)知識。內(nèi)容涵蓋主流的測試工具,包括JUnit、Monkey、MonkeyRunner、Robotium、UIAutomator、Appium以及性能測試?yán)鱈oadRunner、手機(jī)端性能監(jiān)控工具Emmagee等;重點(diǎn)講解移動平臺的主要實(shí)戰(zhàn)技術(shù),如單元測試、功能測試、性能測試、UI測試、手游測試、自動化測試、測試用例管理、持續(xù)集成、腳本錄制等。書中結(jié)合實(shí)例對各個(gè)工具進(jìn)行深入講解,真正做到學(xué)以致用。本書既是一本真正幫助讀者學(xué)習(xí)移動測試中用到的所有技術(shù)的實(shí)戰(zhàn)教程,也是一本名副其實(shí)的、貼近實(shí)戰(zhàn)的移動端測試指南。
本書適合測試初學(xué)者、測試工程師、測試經(jīng)理、移動開發(fā)人員和游戲開發(fā)人員學(xué)習(xí)借鑒,也可以作為大專院校相關(guān)專業(yè)師生和培訓(xùn)學(xué)校的教學(xué)用書。
業(yè)界知名的測試專家,多本暢銷書作者
移動測試工具全覆蓋
Monkey、MonkeyRunner、Robotium、uiautomator、Appium
-移動測試流程全覆蓋
操作系統(tǒng)、系統(tǒng)調(diào)試、自動化腳本開發(fā)、測試用例批量執(zhí)行、持續(xù)集成
-移動自動化測試框架全實(shí)例講解
-移動客戶端性能全實(shí)例剖析
移動終端性能指標(biāo)
移動端性能測試工具
LoadRunner在移動端性能測試的應(yīng)用
于涌,畢業(yè)于北京大學(xué)計(jì)算機(jī)系,先后擔(dān)高級程序員、測試分析師、高級測試經(jīng)理等職位。擁有二十年豐富的開發(fā)、測試及管理經(jīng)驗(yàn),F(xiàn)致力于軟件測試?yán)碚摵蛯?shí)踐研究,尤其擅長自動化測試工具應(yīng)用、性能測試和單元測試等。曾為多個(gè)大型軟件公司、高校企事業(yè)和專業(yè)培訓(xùn)機(jī)構(gòu)提供軟件測試、性能測試、安全測試、移動測試、自動化測試等理論和相關(guān)工具應(yīng)用方面的咨詢、培訓(xùn)和實(shí)施指導(dǎo)工作,具有豐富的實(shí)踐和教學(xué)經(jīng)驗(yàn)。多本軟件測試暢銷書的作者。
第1章 Android系統(tǒng)基礎(chǔ)內(nèi)容介紹 1
1.1 Android系統(tǒng)介紹 2
1.2 Android系統(tǒng)架構(gòu) 2
1.3 Android權(quán)限系統(tǒng) 4
1.4 Android相關(guān)的一些屬性簡介 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)建一個(gè)Android項(xiàng)目 20
1.7.1 創(chuàng)建一個(gè)新的Android
項(xiàng)目 20
1.7.2 如何填寫Android項(xiàng)目
信息 20
1.7.3 配置Android項(xiàng)目
和活動信息 21
1.7.4 設(shè)計(jì)程序的原型UI 24
1.7.5 依據(jù)UI原型實(shí)現(xiàn)Android
項(xiàng)目的布局文件 24
1.7.6 布局文件內(nèi)容的理解 26
1.7.7 Android項(xiàng)目的源代碼
實(shí)現(xiàn) 27
1.7.8 AndroidManifest.xml文件
講解 30
1.7.9 運(yùn)行Android項(xiàng)目 33
第2章 JUnit框架基礎(chǔ) 37
2.1 JUnit框架介紹 38
2.2 JUnit在Android開發(fā)中的應(yīng)用 39
2.2.1 單元測試的重要性 39
2.2.2 單元測試實(shí)施者 39
2.2.3 單元測試測試哪些內(nèi)容 40
2.2.4 單元測試不測試哪些
內(nèi)容 40
2.2.5 創(chuàng)建基于Android的測試
項(xiàng)目 40
2.3 應(yīng)用JUnit對Android項(xiàng)目進(jìn)行
單元測試 42
2.3.1 JUnit基于Android項(xiàng)目
TestCase的應(yīng)用 42
2.3.2 JUnit基于Android項(xiàng)目
TestSuite的應(yīng)用 50
第3章 ADB命令 57
3.1 Android調(diào)試橋介紹 58
3.2 ADB相關(guān)指令實(shí)例講解 60
3.2.1 adb devices指令實(shí)例
講解 60
3.2.2 adb install指令實(shí)例
講解 62
3.2.3 adb uninstall指令實(shí)例
講解 63
3.2.4 adb pull指令實(shí)例講解 67
3.2.5 adb push指令實(shí)例講解 70
3.2.6 adb shell指令實(shí)例講解 73
3.2.7 adb shell dumpsys battery
指令實(shí)例講解 75
3.2.8 adb shell dumpsys WiFi
指令實(shí)例講解 76
3.2.9 adb shell dumpsys power
指令實(shí)例講解 77
3.2.10 adb shell dumpsys telephony.
registry指令實(shí)例講解 78
3.2.11 adb shell cat /proc/cpuinfo指令實(shí)例講解 79
3.2.12 adb shell cat /proc/meminfo
指令實(shí)例講解 80
3.2.13 adb shell cat /proc/iomem
指令實(shí)例講解 80
3.2.14 獲取手機(jī)型號指令實(shí)例
講解 81
3.2.15 獲取手機(jī)處理器信息
指令實(shí)例講解 81
3.2.16 獲取手機(jī)內(nèi)存信息指令
實(shí)例講解 82
3.2.17 獲取手機(jī)屏幕分辨率
信息指令實(shí)例講解 82
3.2.18 獲取手機(jī)系統(tǒng)版本信息
指令實(shí)例講解 83
3.2.19 獲取手機(jī)內(nèi)核版本信息
指令實(shí)例講解 83
3.2.20 獲取手機(jī)運(yùn)營商信息
指令實(shí)例講解 83
3.2.21 獲取手機(jī)網(wǎng)絡(luò)類型信息
指令實(shí)例講解 83
3.2.22 獲取手機(jī)串號信息指令
實(shí)例講解 84
3.2.23 adb shell df指令實(shí)例
講解 84
3.2.24 adb shell dmesg指令實(shí)例
講解 84
3.2.25 adb shell dumpstate指令
實(shí)例講解 86
3.2.26 adb get-serialno指令實(shí)例
講解 87
3.2.27 adb get-state指令實(shí)例
講解 87
3.2.28 adb logcat指令實(shí)例
講解 88
3.2.29 adb bugreport指令實(shí)例
講解 90
3.2.30 adb jdwp指令實(shí)例
講解 91
3.2.31 adb start-server指令實(shí)例
講解 92
3.2.32 adb kill-server指令實(shí)例
講解 92
3.2.33 adb forward指令實(shí)例
講解 92
3.2.34 am指令實(shí)例講解 93
3.2.35 pm指令實(shí)例講解 94
3.3 手機(jī)模擬器相關(guān)的一些操作命令
實(shí)例講解 95
3.3.1 模擬器上模擬手機(jī)來電
命令實(shí)例講解 95
3.3.2 模擬器上模擬發(fā)送短信
命令實(shí)例講解 98
3.3.3 模擬器上模擬網(wǎng)絡(luò)相關(guān)
命令實(shí)例講解 98
3.3.4 修改模擬器的大小比例
相關(guān)命令實(shí)例講解 100
3.3.5 模擬器的其他命令及
如何退出模擬器控制臺 100
3.4 模擬器相關(guān)命令實(shí)例講解 101
3.4.1 創(chuàng)建安卓虛擬設(shè)備命令
實(shí)例講解 103
3.4.2 重命名模擬器命令實(shí)例
講解 107
3.4.3 查看模擬器命令實(shí)例
講解 108
3.4.4 刪除模擬器命令實(shí)例
講解 109
3.4.5 啟動模擬器命令實(shí)例
講解 109
3.5 創(chuàng)建安卓項(xiàng)目相關(guān)命令實(shí)例
講解 110
3.6 基于控制臺命令行相關(guān)命令使用
指導(dǎo) 112
第4章 Monkey工具使用 115
4.1 Monkey工具簡介 116
4.2 Monkey演示示例 116
4.2.1 第一個(gè)Monkey示例(針對
日歷應(yīng)用程序) 116
4.2.2 如何查看Monkey執(zhí)行
過程信息 118
4.2.3 如何保持設(shè)定各類事件
執(zhí)行比例 129
4.3 Monkey相關(guān)參數(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相關(guān)命令介紹 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 第一個(gè)MonkeyRunner示例
(針對游戲) 163
5.3.2 如何利用monkey_recorder.py
進(jìn)行腳本錄制 163
5.3.3 如何利用monkey_playback.py
進(jìn)行腳本回放 169
5.3.4 如何利用monkeyhelp.html
文件獲取讀者想要的 170
5.4 MonkeyRunner腳本手工編寫 171
5.4.1 MonkeyRunner關(guān)鍵類
介紹 171
5.4.2 MonkeyRunner腳本
編寫 172
5.4.3 MonkeyRunner腳本
執(zhí)行 173
5.5 MonkeyRunner樣例腳本 174
5.5.1 按Home鍵 174
5.5.2 設(shè)備重啟 175
5.5.3 設(shè)備喚醒 175
5.5.4 按菜單鍵 175
5.5.5 輸入內(nèi)容 175
5.5.6 控制多個(gè)設(shè)備 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 第一個(gè)Robotium示例(針對記事本
應(yīng)用程序) 178
6.3.1 記事本樣例下載 178
6.3.2 記事本樣例項(xiàng)目導(dǎo)入到
Eclipse 179
6.3.3 記事本樣例項(xiàng)目運(yùn)行 182
6.3.4 記事本樣例功能介紹 184
6.3.5 Robotium測試用例項(xiàng)目
結(jié)構(gòu) 184
6.3.6 Robotium測試用例實(shí)現(xiàn)
代碼 185
6.3.7 Robotium測試用例代碼
解析 187
6.3.8 測試用例設(shè)計(jì)思路
分析 194
6.3.9 Robotium測試用例執(zhí)行
過程 195
6.4 用Robotium實(shí)現(xiàn)對APK或有源碼
的項(xiàng)目實(shí)施測試 200
6.4.1 基于有源代碼應(yīng)用的
Robotium自動化測試 200
6.4.2 基于APK包應(yīng)用的
Robotium測試項(xiàng)目 207
6.5 用Robotium Recorder錄制
腳本 214
6.5.1 Robotium Recorder插件的
安裝 214
6.5.2 應(yīng)用Robotium Recorder
錄制有源代碼的項(xiàng)目 217
6.5.3 應(yīng)用Robotium Recorder
錄制APK包應(yīng)用 223
6.6 Robotium獲取控件的方法 232
6.6.1 根據(jù)控件的ID獲取
控件 232
6.6.2 根據(jù)光標(biāo)位置獲取
控件 238
6.7 測試用例腳本的批量運(yùn)行 241
6.7.1 測試用例管理 241
6.7.2 測試用例執(zhí)行 249
6.7.3 生成測試報(bào)告 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配置測試報(bào)告 273
6.8.7 驗(yàn)證持續(xù)集成成果 275
6.8.8 關(guān)于持續(xù)集成思路
拓展 278
第7章 自動化測試工具—UI Automator
實(shí)戰(zhàn) 281
7.1 為什么選擇UI Automator 282
7.2 UI Automator演示示例 282
7.2.1 UI Automator Viewer工具使用介紹 283
7.2.2 應(yīng)用UI Automator等完成
單元測試用例設(shè)計(jì)基本
步驟 288
7.2.3 理解UI Automator Viewer工具捕獲的元素屬性
信息 291
7.2.4 UI Automator運(yùn)行環(huán)境
搭建過程 292
7.2.5 編寫第一個(gè)UI Automator
測試用例 296
7.2.6 測試用例實(shí)現(xiàn)代碼及其
講解 302
7.2.7 查看已安裝的SDK
版本 308
7.2.8 創(chuàng)建build.xml等相關(guān)
文件 309
7.2.9 編譯生成JAR文件 311
7.2.10 上傳生成JAR文件到
手機(jī) 313
7.2.11 運(yùn)行測試用例并分析測試
結(jié)果 313
7.3 UI Automator主要的對象類 316
7.3.1 UiDevice類及其接口調(diào)用
實(shí)例 316
7.3.2 UiSelector類及其接口調(diào)用
實(shí)例 318
7.3.3 UiObject類及其接口調(diào)用
實(shí)例 320
7.3.4 UiCollection類及其接口
調(diào)用實(shí)例 326
7.3.5 UiWatcher類及其接口調(diào)用
實(shí)例 327
7.3.6 UiScrollable類及其接口
調(diào)用實(shí)例 329
7.3.7 Configurator類及其接口
調(diào)用實(shí)例 332
7.4 UI Automator常見問題解答 333
7.4.1 UI Automator對中文支持
問題 333
7.4.2 UI Automator如何執(zhí)行
單個(gè)類里的單個(gè)測試
用例 334
7.4.3 UI Automator如何執(zhí)行
單個(gè)類里的多個(gè)測試
用例 336
7.4.4 UI Automator腳本
示例 338
第8章 自動化測試工具—Appium
實(shí)戰(zhàn) 341
8.1 為什么選擇Appium 342
8.1.1 Appium的理念 342
8.1.2 Appium的設(shè)計(jì) 342
8.1.3 Appium的相關(guān)概念 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個(gè)利器 371
8.3.1 應(yīng)用UIAutomator Viewer
獲得元素信息的實(shí)例 371
8.3.2 應(yīng)用Inspector獲得元素
信息的實(shí)例 378
8.3.3 應(yīng)用Chrome瀏覽器ADB
插件獲得元素信息的
實(shí)例 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 多點(diǎn)操作 396
8.6 捕獲異常、創(chuàng)建快照 397
8.6.1 安裝TestNG插件 397
8.6.2 創(chuàng)建測試項(xiàng)目 400
8.6.3 創(chuàng)建異常監(jiān)聽類 404
8.6.4 創(chuàng)建測試項(xiàng)目類 404
8.6.5 測試項(xiàng)目運(yùn)行結(jié)果 407
第9章 移動平臺性能測試 411
9.1 移動平臺性能測試簡介 412
9.1.1 性能測試的8大分類 412
9.1.2 移動終端的性能指標(biāo) 413
9.2 移動端性能測試工具 414
9.2.1 TraceView工具使用
介紹 415
9.2.2 SysTrace工具使用
介紹 417
9.2.3 Emmagee工具使用
介紹 422
9.2.4 查看應(yīng)用啟動耗時(shí) 426
9.2.5 獲得電池電量和電池
溫度 427
9.2.6 獲得最耗資源的應(yīng)用 428
9.2.7 獲得手機(jī)設(shè)備電池電量
信息 430
9.2.8 獲得手機(jī)應(yīng)用幀率
信息 430
9.3 LoadRunner在移動端性能測試的
應(yīng)用 437