注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)深入理解Android自動化測試

深入理解Android自動化測試

深入理解Android自動化測試

定 價(jià):¥99.00

作 者: 許奔
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111521204 出版時(shí)間: 2015-11-01 包裝:
開本: 16開 頁數(shù): 533 字?jǐn)?shù):  

內(nèi)容簡介

  聯(lián)想集團(tuán)董事長兼CEO楊元慶、ZUKCEO常程鼎力推薦,資深測試專家多年經(jīng)驗(yàn)總結(jié)。本書以漫畫和對話風(fēng)格對Android平臺的各種自動化測試工具、框架的原理、使用技巧和二次開發(fā)進(jìn)行了詳細(xì)的講解。《深入理解Android自動化測試》分為四篇,共21章:基礎(chǔ)篇(第1~7章),簡單介紹Android常用自動化測試工具和框架的基本使用技巧與相關(guān)理論,幫助讀者直接上手操作這些工具或使用框架撰寫自動化腳本。原理篇(第8~13章),通過對Android常用自動化測試工具和框架的源碼剖析,讓大家更直觀地了解工具的運(yùn)行原理。讓讀者不但可以更靈活地運(yùn)用這些工具和框架,清楚地知道應(yīng)用這些工具和框架的局限性,還可以基于這些源碼更深入地對工具和框架進(jìn)行二次開發(fā)。實(shí)戰(zhàn)篇(第14~18章),通過項(xiàng)目中的各種需求和實(shí)際問題來分析工具的不足,從而開發(fā)一些小工具或?qū)蚣苓M(jìn)行二次封裝,循著這條線索開發(fā)出更多、更實(shí)用的工具,或?qū)蚣苓M(jìn)行更深入的封裝。反思篇(第19~21章),結(jié)合實(shí)際工作中領(lǐng)導(dǎo)們提出的各種問題,對工具、測試本身以及人深入進(jìn)行討論和反思,深入思考Android自動化測試以及軟件自動化測試從業(yè)人員都在面臨的問題。

作者簡介

  許奔,聯(lián)想集團(tuán)研發(fā)主管工程師,資深自動化測試工程師,從事自動化測試工作8年以上,曾帶領(lǐng)聯(lián)想手機(jī)單元測試團(tuán)隊(duì)、聯(lián)想手機(jī)自動化測試團(tuán)隊(duì)為公司開發(fā)出多款實(shí)用的Android自動化測試工具,并對Android官方自動化測試框架Instrumentation、UIAutomator、CTS等進(jìn)行持續(xù)封裝,不斷提升腳本的穩(wěn)定性、可移植性和可讀性,有效地保證了多個項(xiàng)目的自動化測試順利運(yùn)行。同時(shí),他還是聯(lián)想集團(tuán)年度發(fā)明人,MBG專利大師,至今提交智能設(shè)備相關(guān)專利提案1542件,其中186件發(fā)明與實(shí)用新型專利通過聯(lián)想集團(tuán)專利評審遞交國家專利局,被譽(yù)為“專利達(dá)人”和“創(chuàng)新狂人”。

圖書目錄

本書贊譽(yù)
前  言
第一部分 基礎(chǔ)篇
第1章 Android自動化測試基礎(chǔ) 3
1.1 Android自動化分析 3
1.2 什么樣的兵器*稱手 4
1.3 如何耍好你手上的兵器 6
1.4 你了解你的兵器嗎 8
1.5 如何改造你的兵器 9
第2章 穩(wěn)定性測試?yán)鱩onkey使用詳解 10
2.1 monkey概述 10
2.2 第一個Impossible Mission 10
2.3 monkey的基本使用 11
2.4 monkey的命令及其使用 14
2.4.1 monkey的常規(guī)類命令 14
2.4.2 monkey的事件類命令 15
2.4.3 monkey的約束類命令 19
2.4.4 monkey的調(diào)試類命令 20
2.4.5 monkey命令小結(jié) 22
2.5 第二個Impossible Mission 23
2.6 monkey腳本編寫 24
2.6.1 monkey API詳解 24
2.6.2 monkey腳本編寫 27
2.6.3 從getevent和input keyevent說起 33
2.7 monkey工具總結(jié) 37
第3章 monkey之子monkeyrunner使用詳解 38
3.1 monkeyrunner概述 38
3.2 monkeyrunner API詳解 38
3.2.1 monkeyrunner基本API:手勢、輸入和點(diǎn)擊 44
3.2.2 monkeyrunner必備API:啟動應(yīng)用、等待 49
3.2.3 monkeyrunner強(qiáng)大API:鍵值事件 58
3.2.4 monkeyrunner與PC交互API:輸入、選項(xiàng)列表框、警告框 61
3.2.5 monkeyrunner應(yīng)用操作API:等待設(shè)備連接、安裝/卸載應(yīng)用 65
3.2.6 monkeyrunner設(shè)置控制API:重啟、喚醒、獲取設(shè)備屬性 69
3.2.7 monkeyrunner基本圖像處理API:截屏、圖像保存 75
3.2.8 monkeyrunner必備圖像處理API:圖像截取、對比 78
3.2.9 monkeyrunner強(qiáng)大圖像處理API:轉(zhuǎn)換格式、獲取像素元組/像素值 82
3.2.10 monkeyrunner超級API:廣播、用例及命令 86
3.2.11 monkeyrunner幫助文檔 91
3.3 monkeyrunner腳本編寫 96
3.3.1 bugben示例腳本剖析 96
3.3.2 monkeyrunner腳本運(yùn)行注意事項(xiàng) 98
3.4 第三個Impossible Mission 99
3.5 monkeyrunner的錄制回放 99
3.5.1 等待功能Wait 100
3.5.2 按鍵功能Press a Button 102
3.5.3 輸入功能Type Something 103
3.5.4 拖拽功能Fling 105
3.5.5 錄制腳本導(dǎo)出功能Export Actions 107
3.5.6 錄制bugben腳本示例 107
3.5.7 回放bugben腳本 110
3.6 monkeyrunner工具總結(jié) 112
第4章 單元測試框架Instrumentation使用詳解 114
4.1 Instrumentation概述 114
4.2 Instrumentation基礎(chǔ) 115
4.2.1 自動化測試基礎(chǔ) 116
4.2.2 Android測試框架 117
4.3 第四個Impossible Mission 120
4.4 Instrumentation的前世:單元測試基礎(chǔ)框架JUnit 124
4.5 第五個Impossible Mission 133
4.6 Instrumentation的今生:對Android系統(tǒng)的高度控制 138
4.7 Instrumentation前世今生分析 143
4.8 第六個Impossible Mission 149
4.9 Instrumentation自動化腳本開發(fā) 149
4.9.1 Instrumentation自動化條件 150
4.9.2 捕獲*初項(xiàng)目控件 157
4.9.3 對*初項(xiàng)目的自動化測試 161
4.10 Instrumentation工具總結(jié) 167
第5章 終極自動化框架UIAutomator使用詳解 171
5.1 UIAutomator概述 171
5.2 第七個Impossible Mission 173
5.3 更清晰的控件捕獲 173
5.4 更直觀的測試項(xiàng)目創(chuàng)建 175
5.5 UIAutomator API詳解 177
5.5.1 與monkeyrunner對照之:給力的手勢 178
5.5.2 與monkeyrunner對照之:輸入、點(diǎn)擊和長按 180
5.5.3 與monkeyrunner對照之:等待和截屏 182
5.5.4 與monkeyrunner對照之:鎖屏/喚醒、獲取設(shè)備屬性 184
5.5.5 與monkeyrunner對照之:鍵值事件 186
5.5.6 人無我有之:屏幕旋轉(zhuǎn)、布局文件 187
5.5.7 人無我有之:獲取包名、應(yīng)用名和通知欄 189
5.5.8 人無我有之:獲取對象屬性 189
5.5.9 強(qiáng)大的控件篩選器:UiSelector 192
5.5.10 “給力”的控件定位器:UiCollection 194
5.5.11 無敵的滾動:UiScrollable 195
5.5.12 瘋狂的監(jiān)聽器:UiWatcher 200
5.5.13 UIAutomator API綜述 202
5.6 更簡潔的腳本撰寫 202
5.6.1 UIAutomator界面捕獲 202
5.6.2 UIAutomator應(yīng)用啟動 205
5.6.3 UIAutomator控件捕獲 206
5.6.4 UIAutomator控件操作 211
5.6.5 Bugben完整測試項(xiàng)目 213
5.7 更便捷地編譯運(yùn)行 216
5.8 UIAutomator工具總結(jié) 223
第6章 兼容性測試框架CTS使用詳解 226
6.1 CTS概述 226
6.2 CTS測試須知 228
6.3 CTS的命令及運(yùn)行 231
6.4 CTS測試報(bào)告 237
6.5 CTS Verif?ier 240
6.6 CTS注意事項(xiàng) 243
6.7 CTS工具總結(jié) 245
第7章 Android自動化工具使用總結(jié) 247
第二部分 原理篇
第8章 monkey原理分析 252
8.1 monkey源碼結(jié)構(gòu) 252
8.2 monkey架構(gòu)分析 254
8.2.1 旅程開始 254
8.2.2 從run()啟程 254
8.2.3 monkey參數(shù)詳解 257
8.2.4 如何細(xì)分參數(shù)? 262
8.2.5 導(dǎo)入package列表 264
8.2.6 monkey的系統(tǒng)日志 266
8.2.7 檢查內(nèi)部配置 268
8.2.8 構(gòu)建三大能力 268
8.2.9 獲取合法package列表 271
8.2.10 monkey運(yùn)行模式匯總 272
8.2.11 monkey運(yùn)行核心 281
8.2.12 旅程結(jié)束 286
8.3 monkey的原理總結(jié) 288
第9章 monkeyrunner原理分析 289
9.1 monkeyrunner源碼結(jié)構(gòu) 289
9.2 monkeyrunner架構(gòu)分析 289
9.2.1 設(shè)備連接 291
9.2.2 應(yīng)用安裝 311
9.2.3 應(yīng)用啟動 319
9.2.4 按鍵發(fā)送 321
9.2.5 截屏 326
9.2.6 文件存儲 331
9.3 monkeyrunner的原理總結(jié) 334
第10章 Instrumentation原理分析 336
10.1 Instrumentation源碼結(jié)構(gòu) 336
10.2 Instrumentation架構(gòu)分析 338
10.2.1 從InstrumentationTestRunner說開來 339
10.2.2 Instrumentation測試運(yùn)行 342
10.2.3 啟動被測應(yīng)用 345
10.2.4 startActivity()方法 348
10.2.5 startActivity()方法后遺癥 351
10.2.6 連接ViewServer 356
10.2.7 獲取設(shè)備應(yīng)用信息 357
10.2.8 獲取應(yīng)用控件樹 359
10.2.9 繪制控件樹視圖 362
10.3 Instrumentation的原理總結(jié) 364
第11章 UIAutomator原理分析 370
11.1 UIAutomator源碼結(jié)構(gòu) 370
11.2 UIAutomator架構(gòu)分析 371
11.2.1 控件捕獲 371
11.2.2 創(chuàng)建UiObject對象 372
11.2.3 驗(yàn)證控件是否存在 374
11.2.4 驗(yàn)證控件是否可用 381
11.2.5 點(diǎn)擊并等待界面跳轉(zhuǎn) 381
11.2.6 獲取屏幕截圖 386
11.2.7 發(fā)送返回事件 388
11.3 UIAutomator的原理總結(jié) 390
第12章 CTS原理分析 392
12.1 CTS源碼結(jié)構(gòu) 392
12.2 CTS架構(gòu)分析 392
12.2.1 CTS案例MediaPlayer分析 393
12.2.2 測試資源預(yù)置及環(huán)境清理 396
12.2.3 空文件及音視頻播放測試 398
12.2.4 切換下一首歌測試 401
12.2.5 頻譜測試 406
12.2.6 無縫播放測試 407
12.2.7 視頻界面重置測試 410
12.2.8 錄制視頻播放角度測試 412
12.2.9 不同格式視頻文件測試 415
12.2.10 字幕選擇/取消選擇測試 423
12.2.11 字幕切換測試 427
12.2.12 播放器回調(diào)測試 429
12.2.13 視頻錄制播放測試 432
12.3 CTS的原理總結(jié) 435
第13章 Android自動化工具源碼總結(jié) 436
第三部分 實(shí)踐篇
第14章 從monkey到傳參或錄制工具開發(fā) 443
14.1 從monkey原理說開來 443
14.2 monkey傳參小工具 444
14.2.1 monkey傳參小工具之常規(guī)類命令 444
14.2.2 monkey傳參小工具之事件類命令 445
14.2.3 monkey傳參小工具之約束類命令 447
14.2.4 monkey傳參小工具之調(diào)試類命令 448
14.3 monkey腳本錄制工具開發(fā) 449
14.3.1 monkey腳本錄制工具需求 450
14.3.2 monkey腳本錄制工具設(shè)計(jì) 450
14.3.3 monkey腳本錄制工具原理 453
14.4 monkey工具總結(jié) 458
第15章 從Instrumentation到穩(wěn)定自動化工具開發(fā) 459
15.1 為何要做二次封裝? 459
15.2 如何做Instrumentation的二次封裝 461
15.2.1 場景1:源碼問題 461
15.2.2 場景2:控件問題 462
15.2.3 場景3:用例結(jié)構(gòu)問題 463
15.2.4 場景4:運(yùn)行日志問題 465
15.2.5 場景5:窗口監(jiān)測問題 465
15.2.6 場景6:控件ID重復(fù)或缺失問題 466
15.2.7 場景7:出錯截屏問題 468
15.3 二次封裝改進(jìn)項(xiàng)總結(jié) 469
第16章 從UIAutomatorViewer到PC端腳本錄制工具開發(fā) 470
16.1 從UIAutomatorViewer原理說開來 470
16.2 基于UIAutomatorViewer的PC端腳本錄制工具 472
16.2.1 PC端腳本錄制工具:基本設(shè)計(jì) 472
16.2.2 PC端腳本錄制工具:詳細(xì)設(shè)計(jì) 474
16.2.3 PC端腳本錄制工具:原理剖析 477
16.2.4 PC端腳本錄制工具:界面設(shè)計(jì) 483
16.3 UIAutomatorViewer錄制工具總結(jié) 487
第17章 從CTS到定制化單元測試 489
17.1 從CTS原理說開來 489
17.2 用CTS運(yùn)行定制單元測試腳本 491
17.2.1 項(xiàng)目需求分析 491
17.2.2 研究官方CTS用例集 492
17.2.3 自定義CTS用例集 500
17.2.4 運(yùn)行自定義CTS用例集 504
17.3 定制單元測試腳本總結(jié) 505
第18章 Android自動化實(shí)踐之路 507
第四部分 反思篇
第19章 關(guān)于工具的反思 512
19.1 關(guān)于錄制/回放工具的幻想 512
19.2 要門檻還是要適配 513
19.3 什么樣的自動化框架才是強(qiáng)大的框架 515
19.4 將第七個饅頭扔出窗外 516
第20章 關(guān)于測試的反思 519
20.1 自動化是一種短線投資嗎 519
20.2 難道自動化是為了替代黑盒測試 520
20.3 衡量自動化效果的標(biāo)準(zhǔn)是Bug數(shù)嗎 521
第21章 關(guān)于人的反思 522
21.1 測試腳本編寫者態(tài)度問題 522
21.2 什么人適合做自動化 523
21.3 自動化與組織架構(gòu)有沒有關(guān)系 525
附錄A monkey常用鍵值參照表 526
附錄B getProperty()和getSystemProperty() 532

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號