iOS自動(dòng)化測(cè)試實(shí)戰(zhàn):基于Appium、Python與Pytest
定 價(jià):89.8 元
當(dāng)前圖書(shū)已被 4 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:Storm 程立
- 出版時(shí)間:2025/6/1
- ISBN:9787115642578
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)主要介紹iOS自動(dòng)化測(cè)試的相關(guān)內(nèi)容。本書(shū)首先介紹iOS基礎(chǔ)知識(shí);接著介紹測(cè)試環(huán)境部署、Appium基本操作和Appium終端操作,為讀者學(xué)習(xí)后面的知識(shí)打下基礎(chǔ);然后介紹Appium中的元素定位、元素操作、高級(jí)操作、等待機(jī)制;最后講述Pytest測(cè)試框架、項(xiàng)目實(shí)戰(zhàn)、項(xiàng)目代碼優(yōu)化、自動(dòng)化測(cè)試框架開(kāi)發(fā)等。
本書(shū)適合測(cè)試人員和開(kāi)發(fā)人員閱讀。
Storm(杜子龍),測(cè)試工程師,信息系統(tǒng)項(xiàng)目管理師,注冊(cè)滲透測(cè)試工程師,已出版多部測(cè)試類圖書(shū)。
程立,河南工業(yè)大學(xué)人工智能與大數(shù)據(jù)學(xué)院講師,主要研究方向包括網(wǎng)絡(luò)安全與軟件工程。
第 1章 概述1
1.1 當(dāng)前軟件測(cè)試的趨勢(shì)2
1.2 為何要開(kāi)展自動(dòng)化測(cè)試3
1.3 為何要開(kāi)展UI自動(dòng)化測(cè)試4
1.4 UI自動(dòng)化測(cè)試的流程6
1.4.1 需求分析6
1.4.2 方案選擇7
1.4.3 環(huán)境準(zhǔn)備8
1.4.4 系統(tǒng)設(shè)計(jì)9
1.4.5 編碼規(guī)范確定9
1.4.6 編碼11
1.5 深入思考11
第 2章 iOS基礎(chǔ)知識(shí)13
2.1 移動(dòng)操作系統(tǒng)概覽14
2.2 App的類型與區(qū)別16
2.3 iOS App測(cè)試框架概覽18
第3章 測(cè)試環(huán)境部署21
3.1 輔助環(huán)境部署22
3.1.1 安裝Xcode22
3.1.2 安裝Homebrew工具23
3.1.3 安裝Node.js和NPM25
3.1.4 安裝libimobiledevice26
3.1.5 安裝Carthage27
3.1.6 安裝ios-deploy27
3.2 編程環(huán)境部署28
3.2.1 安裝Python28
3.2.2 Python虛擬環(huán)境29
3.2.3 安裝PyCharm31
3.3 Appium環(huán)境部署35
3.3.1 安裝Appium Server GUI35
3.3.2 安裝Appium Server38
3.3.3 安裝Appium-Python-Client39
3.3.4 初始化WebDriverAgent41
3.3.5 安裝Appium Inspector42
3.3.6 安裝Appium-doctor44
3.4 自動(dòng)化測(cè)試示例項(xiàng)目45
3.5 測(cè)試環(huán)境及其部署總結(jié)45
第4章 Appium基本操作47
4.1 Appium的組件與工作原理48
4.1.1 Appium的組件48
4.1.2 Appium的工作原理49
4.2 Xcode基本操作53
4.2.1 Xcode模擬器的下載53
4.2.2 Xcode運(yùn)行項(xiàng)目54
4.2.3 模擬器安裝WDA56
4.3 Appium Desktop基本操作57
4.4 Appium Inspector基本操作60
4.4.1 Inspector參數(shù)設(shè)置61
4.4.2 Inspector定位元素62
第5章 Appium終端操作70
5.1 Capabilities簡(jiǎn)介71
5.2 第 一個(gè)Appium測(cè)試腳本72
5.3 Appium報(bào)錯(cuò)與解決方案73
5.4 Appium終端基本操作74
5.4.1 安裝App74
5.4.2 判斷App是否安裝75
5.4.3 將App切換到后臺(tái)運(yùn)行75
5.4.4 移除App76
5.4.5 激活A(yù)pp76
5.4.6 終止App運(yùn)行77
5.4.7 獲取App的運(yùn)行狀態(tài)78
5.4.8 獲取當(dāng)前窗口的寬和高78
第6章 Appium中的元素定位81
6.1 元素定位方法概覽82
6.2 通過(guò)ACCESSIBILITY_ID定位元素83
6.3 通過(guò)CLASS_NAME定位元素84
6.4 通過(guò)IOS_CLASS_CHAIN定位元素85
6.5 通過(guò)IOS_PREDICATE定位元素86
6.6 通過(guò)XPath定位元素90
6.7 使用相對(duì)方式定位元素91
6.8 定位組元素91
6.9 使用坐標(biāo)單擊元素94
第7章 Appium中的元素操作97
7.1 元素的基本操作98
7.1.1 單擊操作98
7.1.2 輸入操作99
7.1.3 清除操作100
7.1.4 提交操作100
7.2 元素的狀態(tài)判斷101
7.3 元素的屬性值獲取102
7.3.1 獲取元素的id103
7.3.2 獲取元素的text值103
7.3.3 獲取元素的位置104
7.3.4 獲取元素的其他信息105
第8章 Appium高級(jí)操作107
8.1 Appium Server 1.x中的觸控操作108
8.1.1 輕觸坐標(biāo)點(diǎn)108
8.1.2 輕觸目標(biāo)元素109
8.1.3 長(zhǎng)按操作109
8.1.4 長(zhǎng)按、拖動(dòng)操作110
8.1.5 多點(diǎn)觸控111
8.2 Appium Server 2.x中的觸控操作112
8.3 軟鍵盤(pán)操作113
8.4 屏幕滑動(dòng)操作113
8.5 屏幕截圖操作115
8.6 Toast定位118
8.7 處理NSAlert118
第9章 Appium等待機(jī)制120
9.1 影響元素加載的外部因素121
9.2 強(qiáng)制等待121
9.3 隱式等待122
9.4 顯式等待125
9.4.1 WebDriverWait類125
9.4.2 WebDriverWait類提供的方法126
9.4.3 expected_conditions類提供的條件127
9.4.4 自定義等待條件131
第 10章 Pytest測(cè)試框架133
10.1 Pytest簡(jiǎn)介134
10.2 Pytest測(cè)試固件136
10.3 Pytest組織測(cè)試用例和斷言的方法141
10.4 Pytest框架測(cè)試執(zhí)行142
10.5 測(cè)試用例重試144
10.6 標(biāo)記機(jī)制146
10.6.1 對(duì)測(cè)試用例進(jìn)行分級(jí)146
10.6.2 跳過(guò)某些測(cè)試用例148
10.7 全局設(shè)置151
10.7.1 準(zhǔn)備測(cè)試目錄151
10.7.2 執(zhí)行全局測(cè)試153
10.8 測(cè)試報(bào)告154
10.8.1 pytest-html測(cè)試報(bào)告154
10.8.2 Allure測(cè)試報(bào)告156
10.9 Pytest與Appium161
10.10 Pytest參數(shù)化163
第 11章 項(xiàng)目實(shí)戰(zhàn)165
11.1 真機(jī)環(huán)境部署166
11.2 自動(dòng)化測(cè)試用例開(kāi)發(fā)167
11.2.1 測(cè)試用例設(shè)計(jì)167
11.2.2 測(cè)試用例代碼實(shí)現(xiàn)169
11.2.3 測(cè)試用例執(zhí)行176
11.3 代碼分析177
第 12章 項(xiàng)目代碼優(yōu)化179
12.1 提高測(cè)試用例的靈活性180
12.1.1 YAML180
12.1.2 YAML文件操作182
12.1.3 配置數(shù)據(jù)和代碼的分離185
12.2 減少代碼冗余191
12.2.1 conftest.py191
12.2.2 前置、后置代碼的分離195
12.3 提高測(cè)試用例的可擴(kuò)展性197
12.3.1 CSV文件198
12.3.2 CSV文件操作198
12.3.3 測(cè)試數(shù)據(jù)和代碼的分離200
12.4 提高測(cè)試用例的可維護(hù)性201
12.4.1 頁(yè)面對(duì)象實(shí)踐202
12.4.2 “危機(jī)”應(yīng)對(duì)211
12.4.3 新增的缺點(diǎn)217
第 13章
自動(dòng)化測(cè)試框架開(kāi)發(fā)219
13.1 自動(dòng)化測(cè)試框架設(shè)計(jì)220
13.2 優(yōu)化目錄層級(jí)221
13.2.1 Python的os模塊221
13.2.2 調(diào)整模塊引用223
13.3 增加日志信息225
13.3.1 日志概述225
13.3.2 logging的用法226
13.3.3 給測(cè)試用例添加日志229
13.4 添加失敗截圖功能236
13.5 添加顯式等待功能237
第 14章 與君共勉244
14.1 測(cè)試數(shù)據(jù)245
14.1.1 測(cè)試數(shù)據(jù)準(zhǔn)備245
14.1.2 冗余數(shù)據(jù)處理246
14.2 提升效率247
14.3 模擬器與真機(jī)的異同248
附錄A App的相關(guān)知識(shí)250
附錄B 元素定位工具251
附錄C iOS可用的Capabilities252
附錄D 常用運(yùn)算符254
附錄E IOS_PREDICATE定位方式擴(kuò)展255
附錄F XPath的相關(guān)知識(shí)257
附錄G 常用元素的類型及屬性259
附錄H 在macOS設(shè)備中安裝Java260