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