編輯推薦
國內第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 Appium 3
1.3.2 uiautomator 4
1.3.3 Robotium 4
第2章 測試開發環境搭建 6
2.1 JDK安裝及其環境變量配置 7
2.2 Eclipse的安裝 9
2.3 Android SDK的安裝及環境變量配置 9
2.4 ADT插件的安裝 12
2.5 Genymotion 12
第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 jar 22
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 安裝Recorder 38
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 登錄頁麵測試用例2 86
7.2.2 登錄頁麵用例3 86
7.2.3 添加任務頁麵測試用例 93
7.2.4 任務列錶頁麵測試用例 96
7.2.5 任務編輯頁麵測試用例 97
7.2.6 退齣功能驗證 102
第8章 批量運行測試代碼 104
8.1 TestSuite 105
8.2 Runner 107
8.3 生成JUnit格式的report 111
第9章 持續集成 115
9.1 持續集成簡介 116
9.2 持續集成工具 116
9.3 編譯todolist項目源碼 119
9.3.1 安裝Ant 119
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 uiautomator 170
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 job 200
12.5 代碼覆蓋率展現 204
第13章 Android Studio和Gradle 206
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
精彩書摘
《手機測試Robotium實戰教程》:
10.1 crash處理機製
當自動化測試用例的數目比較大時,批量運行的時候,可能會齣現這種情況:當用例運行時,因為一些原因導緻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閤並成一份就可以瞭。
……
前言/序言
手機測試Robotium實戰教程 epub pdf mobi txt 電子書 下載 2024
手機測試Robotium實戰教程 下載 epub mobi pdf txt 電子書