iOS自動化測試實戰(zhàn):基于Appium、Python與Pytest
定 價:89.8 元
當前圖書已被 3 所學(xué)校薦購過!
查看明細
- 作者:Storm 程立
- 出版時間:2025/6/1
- ISBN:9787115642578
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書主要介紹iOS自動化測試的相關(guān)內(nèi)容。本書首先介紹iOS基礎(chǔ)知識;接著介紹測試環(huán)境部署、Appium基本操作和Appium終端操作,為讀者學(xué)習(xí)后面的知識打下基礎(chǔ);然后介紹Appium中的元素定位、元素操作、高級操作、等待機制;最后講述Pytest測試框架、項目實戰(zhàn)、項目代碼優(yōu)化、自動化測試框架開發(fā)等。
本書適合測試人員和開發(fā)人員閱讀。
Storm(杜子龍),測試工程師,信息系統(tǒng)項目管理師,注冊滲透測試工程師,已出版多部測試類圖書。
程立,河南工業(yè)大學(xué)人工智能與大數(shù)據(jù)學(xué)院講師,主要研究方向包括網(wǎng)絡(luò)安全與軟件工程。
第 1章 概述1
1.1 當前軟件測試的趨勢2
1.2 為何要開展自動化測試3
1.3 為何要開展UI自動化測試4
1.4 UI自動化測試的流程6
1.4.1 需求分析6
1.4.2 方案選擇7
1.4.3 環(huán)境準備8
1.4.4 系統(tǒng)設(shè)計9
1.4.5 編碼規(guī)范確定9
1.4.6 編碼11
1.5 深入思考11
第 2章 iOS基礎(chǔ)知識13
2.1 移動操作系統(tǒng)概覽14
2.2 App的類型與區(qū)別16
2.3 iOS App測試框架概覽18
第3章 測試環(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 自動化測試示例項目45
3.5 測試環(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運行項目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簡介71
5.2 第 一個Appium測試腳本72
5.3 Appium報錯與解決方案73
5.4 Appium終端基本操作74
5.4.1 安裝App74
5.4.2 判斷App是否安裝75
5.4.3 將App切換到后臺運行75
5.4.4 移除App76
5.4.5 激活A(yù)pp76
5.4.6 終止App運行77
5.4.7 獲取App的運行狀態(tài)78
5.4.8 獲取當前窗口的寬和高78
第6章 Appium中的元素定位81
6.1 元素定位方法概覽82
6.2 通過ACCESSIBILITY_ID定位元素83
6.3 通過CLASS_NAME定位元素84
6.4 通過IOS_CLASS_CHAIN定位元素85
6.5 通過IOS_PREDICATE定位元素86
6.6 通過XPath定位元素90
6.7 使用相對方式定位元素91
6.8 定位組元素91
6.9 使用坐標單擊元素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高級操作107
8.1 Appium Server 1.x中的觸控操作108
8.1.1 輕觸坐標點108
8.1.2 輕觸目標元素109
8.1.3 長按操作109
8.1.4 長按、拖動操作110
8.1.5 多點觸控111
8.2 Appium Server 2.x中的觸控操作112
8.3 軟鍵盤操作113
8.4 屏幕滑動操作113
8.5 屏幕截圖操作115
8.6 Toast定位118
8.7 處理NSAlert118
第9章 Appium等待機制120
9.1 影響元素加載的外部因素121
9.2 強制等待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測試框架133
10.1 Pytest簡介134
10.2 Pytest測試固件136
10.3 Pytest組織測試用例和斷言的方法141
10.4 Pytest框架測試執(zhí)行142
10.5 測試用例重試144
10.6 標記機制146
10.6.1 對測試用例進行分級146
10.6.2 跳過某些測試用例148
10.7 全局設(shè)置151
10.7.1 準備測試目錄151
10.7.2 執(zhí)行全局測試153
10.8 測試報告154
10.8.1 pytest-html測試報告154
10.8.2 Allure測試報告156
10.9 Pytest與Appium161
10.10 Pytest參數(shù)化163
第 11章 項目實戰(zhàn)165
11.1 真機環(huán)境部署166
11.2 自動化測試用例開發(fā)167
11.2.1 測試用例設(shè)計167
11.2.2 測試用例代碼實現(xiàn)169
11.2.3 測試用例執(zhí)行176
11.3 代碼分析177
第 12章 項目代碼優(yōu)化179
12.1 提高測試用例的靈活性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 提高測試用例的可擴展性197
12.3.1 CSV文件198
12.3.2 CSV文件操作198
12.3.3 測試數(shù)據(jù)和代碼的分離200
12.4 提高測試用例的可維護性201
12.4.1 頁面對象實踐202
12.4.2 “危機”應(yīng)對211
12.4.3 新增的缺點217
第 13章
自動化測試框架開發(fā)219
13.1 自動化測試框架設(shè)計220
13.2 優(yōu)化目錄層級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 給測試用例添加日志229
13.4 添加失敗截圖功能236
13.5 添加顯式等待功能237
第 14章 與君共勉244
14.1 測試數(shù)據(jù)245
14.1.1 測試數(shù)據(jù)準備245
14.1.2 冗余數(shù)據(jù)處理246
14.2 提升效率247
14.3 模擬器與真機的異同248
附錄A App的相關(guān)知識250
附錄B 元素定位工具251
附錄C iOS可用的Capabilities252
附錄D 常用運算符254
附錄E IOS_PREDICATE定位方式擴展255
附錄F XPath的相關(guān)知識257
附錄G 常用元素的類型及屬性259
附錄H 在macOS設(shè)備中安裝Java260