Android自動化測試實戰(zhàn):Python+Appium +unittest
定 價:89.8 元
- 作者:Storm 梁培峰
- 出版時間:2024/1/1
- ISBN:9787115623133
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:323
- 紙張:
- 版次:01
- 開本:16開
本書主要介紹Android自動化測試的相關(guān)內(nèi)容:首先介紹自動化測試的市場情況和行業(yè)前景;接著介紹Android的相關(guān)知識,包括系統(tǒng)概覽、環(huán)境搭建等,為讀者學(xué)習(xí)后面的知識打下基礎(chǔ);最后介紹自動化測試的相關(guān)內(nèi)容,包括元素識別與定位、等待機(jī)制、測試框架等,通過實戰(zhàn)案例幫助讀者快速掌握自動化測試技術(shù)。全書語言通俗易懂,講解透徹,案例豐富。
本書適合計算機(jī)相關(guān)專業(yè)的學(xué)生和測試行業(yè)的從業(yè)人員閱讀。
1.詳細(xì)講解 Android 自動化測試的基礎(chǔ)知識
2.深入講解 Android 自動化測試的使用原理和項目實戰(zhàn)
3.全面解析 提高 Android 自動化測試效率的測試框架
4.提供源碼和答疑服務(wù)。作者在QQ群里不定期答疑
Storm(杜子龍),先后就讀于中南民族大學(xué)、北京科技大學(xué),并取得滲透測試工程師證書。某公司 CNAS檢測實驗室技術(shù)負(fù)責(zé)人,CSDN 博客專家,著 有 圖 書《 接 口 自 動 化 測 試 持 續(xù) 集 成:Postman+Newman+Git+Jenkins+ 釘 釘 》和《Python 實現(xiàn) Web UI 自動化測試實戰(zhàn):Selenium 3/4+unittest/Pytest+GitLab+Jenkins》。
梁培峰,副教授,CCF會 員,JSAI會員。2021年獲日本早稻田大學(xué)計算機(jī)與信息科學(xué)專業(yè)博士學(xué)位,現(xiàn)執(zhí)教于江蘇理工學(xué)院計算機(jī)工程學(xué)院。主要研究方向:機(jī)器學(xué)習(xí)和深度學(xué)習(xí)、人工智能與模式識別、智能計算。
第 1章 自動化測試簡介
1.1 當(dāng)前軟件測試的趨勢 2
1.2 測試金字塔模型 4
1.3 自動化測試分層 5
1.4 UI自動化測試流程 7
1.5 測試質(zhì)量評估 12
第2章 Android基礎(chǔ)知識
2.1 移動設(shè)備操作系統(tǒng)概覽 15
2.1.1 Android 15
2.1.2 iOS 20
2.2 App的類型與區(qū)別 20
2.3 Android App測試框架概覽 23
第3章 搭建Android環(huán)境
3.1 準(zhǔn)備Java環(huán)境26
3.2 準(zhǔn)備Android SDK環(huán)境29
3.2.1 Android SDK下載、安裝30
3.2.2 Android SDK環(huán)境變量設(shè)置31
3.3 安裝Android模擬器32
3.4 準(zhǔn)備Python環(huán)境34
3.5 安裝PyCharm37
3.6 Python虛擬環(huán)境43
第4章 Android adb介紹
4.1 adb的工作原理46
4.2 啟動設(shè)備或模擬器調(diào)試48
4.3 adb常用命令48
4.3.1 查看adb的版本49
4.3.2 連接或斷開設(shè)備49
4.3.3 查看連接設(shè)備的信息50
4.3.4 adb shell50
4.3.5 安裝App52
4.3.6 卸載App53
4.3.7 推送文件54
4.3.8 下載文件54
4.3.9 查看包名55
4.3.10 查看Activity56
4.3.11 啟動、關(guān)閉adb服務(wù)57
4.3.12 屏幕截圖57
第5章 monkey和monkeyrunner
5.1 monkey59
5.1.1 monkey簡介59
5.1.2 monkey的參數(shù)60
5.1.3 monkey命令示例62
5.1.4 App壓力測試69
5.1.5 特定場景壓力測試71
5.1.6 日志管理74
5.2 monkeyrunner76
5.2.1 monkeyrunner簡介77
5.2.2 monkeyrunner API78
5.2.3 綜合案例81
第6章 Appium基礎(chǔ)知識
6.1 Appium簡介85
6.2 Appium的組件及運行原理87
6.2.1 Appium的組件87
6.2.2 Appium Android的運行原理88
6.3 Appium環(huán)境搭建89
6.3.1 通過GUI部署Appium Server89
6.3.2 通過命令行部署Appium Server93
6.3.3 安裝Appium-Python-Client96
6.3.4 安裝appium-doctor98
6.4 Desired Capability簡介99
6.5 第 一個Appium腳本100
6.6 Appium報錯和解決方案102
6.7 Appium終端基本操作104
第7章 Appium之元素識別與定位
7.1 UI Automator Viewer工具114
7.2 Appium Inspector工具119
7.2.1 Inspector安裝120
7.2.2 Inspector參數(shù)設(shè)置122
7.2.3 Inspector識別元素123
7.3 Appium元素定位方法概覽130
7.4 常規(guī)元素屬性定位方法132
7.5 通用元素定位方法133
7.6 uiautomator元素定位方法136
7.6.1 UiSelector的基本方法136
7.6.2 通過text定位138
7.6.3 通過resourceId定位141
7.6.4 通過className定位143
7.6.5 通過description定位143
7.6.6 組合定位144
7.6.7 父子、兄弟關(guān)系定位145
7.6.8 控件特性定位145
7.6.9 索引、實例定位146
7.7 組元素定位方法146
7.8 XPath定位149
7.9 坐標(biāo)單擊152
7.10 Lazy Ui Automator Viewer154
第8章 Appium基本操作
8.1 元素的基本操作158
8.1.1 單擊操作158
8.1.2 輸入操作159
8.1.3 清除操作159
8.1.4 提交操作160
8.1.5 鍵盤操作161
8.2 元素的狀態(tài)判斷163
8.3 元素的屬性值獲取165
第9章 Appium基本操作
9.1 W3C Actions170
9.1.1 W3C Actions簡介170
9.1.2 短暫觸屏174
9.1.3 長按操作175
9.1.4 左滑操作176
9.1.5 多指觸控178
9.2 Toast元素識別179
9.3 Hybrid App操作181
9.3.1 Context簡介181
9.3.2 環(huán)境準(zhǔn)備182
9.3.3 context操作183
9.4 屏幕截圖185
9.5 屏幕熄屏、亮屏188
第10章 Appium等待機(jī)制
10.1 影響元素加載的外部因素191
10.2 強(qiáng)制等待192
10.3 隱性等待193
10.4 顯性等待195
第11章 自動化測試用例開發(fā)
11.1 測試用例設(shè)計204
11.2 測試用例代碼實現(xiàn)205
11.3 代碼分析211
第12章 unittest測試框架
12.1 unittest框架結(jié)構(gòu)213
12.2 測試固件215
12.3 編寫測試用例217
12.4 執(zhí)行測試用例218
12.5 用例執(zhí)行順序222
12.6 內(nèi)置裝飾器224
12.7 命令行執(zhí)行測試227
12.8 批量執(zhí)行測試文件229
12.9 測試斷言231
12.10 測試報告232
12.11 unittest和Appium235
12.12 unittest參數(shù)化241
12.12.1 unittest+DDT243
12.12.2 unittest+ parameterized246
第13章 測試配置及數(shù)據(jù)分離
13.1 測試配置分離249
13.1.1 YAML簡介249
13.1.2 YAML文件操作252
13.1.3 Capability配置數(shù)據(jù)分離實踐254
13.2 測試固件與用例代碼分離257
13.3 測試數(shù)據(jù)分離259
13.3.1 CSV簡介259
13.3.2 CSV文件操作259
13.3.3 測試數(shù)據(jù)分離實踐261
第14章 Page Object設(shè)計模式
14.1 Page Object實踐264
14.2 “危機(jī)”應(yīng)對274
14.3 新生“危機(jī)”278
第15章 自動化測試框架開發(fā)
15.1 框架設(shè)計281
15.2 優(yōu)化目錄層級282
15.2.1 Python os模塊282
15.2.2 調(diào)整模塊引用284
15.3 增加日志信息287
15.3.1 日志概述287
15.3.2 Python logging用法解析288
15.3.3 為測試用例增加日志292
15.4 增加頁面截圖功能299
15.4.1 斷言失敗截圖299
15.4.2 元素定位失敗截圖301
15.5 增加顯性等待功能301
第16章 與君共勉
16.1 關(guān)于測試數(shù)據(jù)309
16.1.1 測試數(shù)據(jù)準(zhǔn)備309
16.1.2 冗余數(shù)據(jù)處理310
16.2 提升穩(wěn)定性311
16.3 提升效率312
16.4 模擬器或真機(jī)312
附錄
附錄A 自動化測試開展原則315
附錄B 夜神模擬器316
附錄C adb常見錯誤318
附錄D 公共及Android獨有Capabilities319
附錄E Android KEYCODE常用鍵值對應(yīng)關(guān)系323