|
-- 會員 / 註冊 --
|
|
|
|
深入理解Android自動化測試 ( 簡體 字) |
作者:許奔 | 類別:1. -> 程式設計 -> 手機程式 -> Android |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 42863 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:11/1/2015 |
頁數:533 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111521204 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:全書分為4個大的部分:第一部分是Android自動化測試基礎,主要介紹了Android自動化測試的一些概念、技術以及各種測試工具的使用,包括Monkey、CTS、Instrumentation、Robotium等;第二部分對各種常用工具的實現原理進行了剖析;第三部分主要講解了如何在這些常用工具的基礎上進行二次開發;第四部分總結了Android自動化測試過程中可能會遇到的各種問題。
|
目錄:本書贊譽 前 言 第一部分 基礎篇 第1章 Android自動化測試基礎 3 1.1 Android自動化分析 3 1.2 什么樣的兵器最稱手 4 1.3 如何耍好你手上的兵器 6 1.4 你了解你的兵器嗎 8 1.5 如何改造你的兵器 9 第2章 穩定性測試利器monkey使用詳解 10 2.1 monkey概述 10 2.2 第一個Impossible Mission 10 2.3 monkey的基本使用 11 2.4 monkey的命令及其使用 14 2.4.1 monkey的常規類命令 14 2.4.2 monkey的事件類命令 15 2.4.3 monkey的約束類命令 19 2.4.4 monkey的調試類命令 20 2.4.5 monkey命令小結 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工具總結 37 第3章 monkey之子monkeyrunner使用詳解 38 3.1 monkeyrunner概述 38 3.2 monkeyrunner API詳解 38 3.2.1 monkeyrunner基本API:手勢、輸入和點擊 44 3.2.2 monkeyrunner必備API:啟動應用、等待 49 3.2.3 monkeyrunner強大API:鍵值事件 58 3.2.4 monkeyrunner與PC交互API:輸入、選項列表框、警告框 61 3.2.5 monkeyrunner應用操作API:等待設備連接、安裝/卸載應用 65 3.2.6 monkeyrunner設置控制API:重啟、喚醒、獲取設備屬性 69 3.2.7 monkeyrunner基本圖像處理API:截屏、圖像保存 75 3.2.8 monkeyrunner必備圖像處理API:圖像截取、對比 78 3.2.9 monkeyrunner強大圖像處理API:轉換格式、獲取像素元組/像素值 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腳本運行注意事項 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 錄制腳本導出功能Export Actions 107 3.5.6 錄制bugben腳本示例 107 3.5.7 回放bugben腳本 110 3.6 monkeyrunner工具總結 112 第4章 單元測試框架Instrumentation使用詳解 114 4.1 Instrumentation概述 114 4.2 Instrumentation基礎 115 4.2.1 自動化測試基礎 116 4.2.2 Android測試框架 117 4.3 第四個Impossible Mission 120 4.4 Instrumentation的前世:單元測試基礎框架JUnit 124 4.5 第五個Impossible Mission 133 4.6 Instrumentation的今生:對Android系統的高度控制 138 4.7 Instrumentation前世今生分析 143 4.8 第六個Impossible Mission 149 4.9 Instrumentation自動化腳本開發 149 4.9.1 Instrumentation自動化條件 150 4.9.2 捕獲最初項目控件 157 4.9.3 對最初項目的自動化測試 161 4.10 Instrumentation工具總結 167 第5章 終極自動化框架UIAutomator使用詳解 171 5.1 UIAutomator概述 171 5.2 第七個Impossible Mission 173 5.3 更清晰的控件捕獲 173 5.4 更直觀的測試項目創建 175 5.5 UIAutomator API詳解 177 5.5.1 與monkeyrunner對照之:給力的手勢 178 5.5.2 與monkeyrunner對照之:輸入、點擊和長按 180 5.5.3 與monkeyrunner對照之:等待和截屏 182 5.5.4 與monkeyrunner對照之:鎖屏/喚醒、獲取設備屬性 184 5.5.5 與monkeyrunner對照之:鍵值事件 186 5.5.6 人無我有之:屏幕旋轉、布局文件 187 5.5.7 人無我有之:獲取包名、應用名和通知欄 189 5.5.8 人無我有之:獲取對象屬性 189 5.5.9 強大的控件篩選器:UiSelector 192 5.5.10 “給力”的控件定位器:UiCollection 194 5.5.11 無敵的滾動:UiScrollable 195 5.5.12 瘋狂的監聽器:UiWatcher 200 5.5.13 UIAutomator API綜述 202 5.6 更簡潔的腳本撰寫 202 5.6.1 UIAutomator界面捕獲 202 5.6.2 UIAutomator應用啟動 205 5.6.3 UIAutomator控件捕獲 206 5.6.4 UIAutomator控件操作 211 5.6.5 Bugben完整測試項目 213 5.7 更便捷地編譯運行 216 5.8 UIAutomator工具總結 223 第6章 兼容性測試框架CTS使用詳解 226 6.1 CTS概述 226 6.2 CTS測試須知 228 6.3 CTS的命令及運行 231 6.4 CTS測試報告 237 6.5 CTS Verif?ier 240 6.6 CTS注意事項 243 6.7 CTS工具總結 245 第7章 Android自動化工具使用總結 247 第二部分 原理篇 第8章 monkey原理分析 252 8.1 monkey源碼結構 252 8.2 monkey架構分析 254 8.2.1 旅程開始 254 8.2.2 從run()啟程 254 8.2.3 monkey參數詳解 257 8.2.4 如何細分參數? 262 8.2.5 導入package列表 264 8.2.6 monkey的系統日志 266 8.2.7 檢查內部配置 268 8.2.8 構建三大能力 268 8.2.9 獲取合法package列表 271 8.2.10 monkey運行模式匯總 272 8.2.11 monkey運行核心 281 8.2.12 旅程結束 286 8.3 monkey的原理總結 288 第9章 monkeyrunner原理分析 289 9.1 monkeyrunner源碼結構 289 9.2 monkeyrunner架構分析 289 9.2.1 設備連接 291 9.2.2 應用安裝 311 9.2.3 應用啟動 319 9.2.4 按鍵發送 321 9.2.5 截屏 326 9.2.6 文件存儲 331 9.3 monkeyrunner的原理總結 334 第10章 Instrumentation原理分析 336 10.1 Instrumentation源碼結構 336 10.2 Instrumentation架構分析 338 10.2.1 從InstrumentationTestRunner說開來 339 10.2.2 Instrumentation測試運行 342 10.2.3 啟動被測應用 345 10.2.4 startActivity()方法 348 10.2.5 startActivity()方法后遺癥 351 10.2.6 連接ViewServer 356 10.2.7 獲取設備應用信息 357 10.2.8 獲取應用控件樹 359 10.2.9 繪制控件樹視圖 362 10.3 Instrumentation的原理總結 364 第11章 UIAutomator原理分析 370 11.1 UIAutomator源碼結構 370 11.2 UIAutomator架構分析 371 11.2.1 控件捕獲 371 11.2.2 創建UiObject對象 372 11.2.3 驗證控件是否存在 374 11.2.4 驗證控件是否可用 381 11.2.5 點擊并等待界面跳轉 381 11.2.6 獲取屏幕截圖 386 11.2.7 發送返回事件 388 11.3 UIAutomator的原理總結 390 第12章 CTS原理分析 392 12.1 CTS源碼結構 392 12.2 CTS架構分析 392 12.2.1 CTS案例MediaPlayer分析 393 12.2.2 測試資源預置及環境清理 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 播放器回調測試 429 12.2.13 視頻錄制播放測試 432 12.3 CTS的原理總結 435 第13章 Android自動化工具源碼總結 436 第三部分 實踐篇 第14章 從monkey到傳參或錄制工具開發 443 14.1 從monkey原理說開來 443 14.2 monkey傳參小工具 444 14.2.1 monkey傳參小工具之常規類命令 444 14.2.2 monkey傳參小工具之事件類命令 445 14.2.3 monkey傳參小工具之約束類命令 447 14.2.4 monkey傳參小工具之調試類命令 448 14.3 monkey腳本錄制工具開發 449 14.3.1 monkey腳本錄制工具需求 450 14.3.2 monkey腳本錄制工具設計 450 14.3.3 monkey腳本錄制工具原理 453 14.4 monkey工具總結 458 第15章 從Instrumentation到穩定自動化工具開發 459 15.1 為何要做二次封裝? 459 15.2 如何做Instrumentation的二次封裝 461 15.2.1 場景1:源碼問題 461 15.2.2 場景2:控件問題 462 15.2.3 場景3:用例結構問題 463 15.2.4 場景4:運行日志問題 465 15.2.5 場景5:窗口監測問題 465 15.2.6 場景6:控件ID重復或缺失問題 466 15.2.7 場景7:出錯截屏問題 468 15.3 二次封裝改進項總結 469 第16章 從UIAutomatorViewer到PC端腳本錄制工具開發 470 16.1 從UIAutomatorViewer原理說開來 470 16.2 基于UIAutomatorViewer的PC端腳本錄制工具 472 16.2.1 PC端腳本錄制工具:基本設計 472 16.2.2 PC端腳本錄制工具:詳細設計 474 16.2.3 PC端腳本錄制工具:原理剖析 477 16.2.4 PC端腳本錄制工具:界面設計 483 16.3 UIAutomatorViewer錄制工具總結 487 第17章 從CTS到定制化單元測試 489 17.1 從CTS原理說開來 489 17.2 用CTS運行定制單元測試腳本 491 17.2.1 項目需求分析 491 17.2.2 研究官方CTS用例集 492 17.2.3 自定義CTS用例集 500 17.2.4 運行自定義CTS用例集 504 17.3 定制單元測試腳本總結 505 第18章 Android自動化實踐之路 507 第四部分 反思篇 第19章 關于工具的反思 512 19.1 關于錄制/回放工具的幻想 512 19.2 要門檻還是要適配 513 19.3 什么樣的自動化框架才是強大的框架 515 19.4 將第七個饅頭扔出窗外 516 第20章 關于測試的反思 519 20.1 自動化是一種短線投資嗎 519 20.2 難道自動化是為了替代黑盒測試 520 20.3 衡量自動化效果的標準是Bug數嗎 521 第21章 關于人的反思 522 21.1 測試腳本編寫者態度問題 522 21.2 什么人適合做自動化 523 21.3 自動化與組織架構有沒有關系 525 附錄A monkey常用鍵值參照表 526 附錄B getProperty()和getSystemProperty() 532 |
序: |
|