iOS自動化測試實戰:基於Appium、Python與Pytest
Storm 程立
- 出版商: 人民郵電
- 出版日期: 2025-06-01
- 售價: $539
- 語言: 簡體中文
- 頁數: 262
- ISBN: 7115642575
- ISBN-13: 9787115642578
-
相關分類:
Apple Developer
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書主要介紹iOS自動化測試的相關內容。本書首先介紹iOS基礎知識;接著介紹測試環境部署、Appium基本操作和Appium終端操作,為讀者學習後面的知識打下基礎;然後介紹Appium中的元素定位、元素操作、高級操作、等待機制;最後講述Pytest測試框架、項目實戰、項目代碼優化、自動化測試框架開發等。
本書適合測試人員和開發人員閱讀。
作者簡介
Storm(杜子龍),測試工程師,信息系統項目管理師,註冊滲透測試工程師,已出版多部測試類圖書。
程立,河南工業大學人工智能與大數據學院講師,主要研究方向包括網絡安全與軟件工程。
目錄大綱
第 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 環境準備 8
1.4.4 系統設計 9
1.4.5 編碼規範確定 9
1.4.6 編碼 11
1.5 深入思考 11
第 2章 iOS基礎知識 13
2.1 移動操作系統概覽 14
2.2 App的類型與區別 16
2.3 iOS App測試框架概覽 18
第3章 測試環境部署 21
3.1 輔助環境部署 22
3.1.1 安裝Xcode 22
3.1.2 安裝Homebrew工具 23
3.1.3 安裝Node.js和NPM 25
3.1.4 安裝libimobiledevice 26
3.1.5 安裝Carthage 27
3.1.6 安裝ios-deploy 27
3.2 編程環境部署 28
3.2.1 安裝Python 28
3.2.2 Python虛擬環境 29
3.2.3 安裝PyCharm 31
3.3 Appium環境部署 35
3.3.1 安裝Appium Server GUI 35
3.3.2 安裝Appium Server 38
3.3.3 安裝Appium-Python-Client 39
3.3.4 初始化WebDriverAgent 41
3.3.5 安裝Appium Inspector 42
3.3.6 安裝Appium-doctor 44
3.4 自動化測試示例項目 45
3.5 測試環境及其部署總結 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 模擬器安裝WDA 56
4.3 Appium Desktop基本操作 57
4.4 Appium Inspector基本操作 60
4.4.1 Inspector參數設置 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 安裝App 74
5.4.2 判斷App是否安裝 75
5.4.3 將App切換到後臺運行 75
5.4.4 移除App 76
5.4.5 激活App 76
5.4.6 終止App運行 77
5.4.7 獲取App的運行狀態 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 元素的狀態判斷 101
7.3 元素的屬性值獲取 102
7.3.1 獲取元素的id 103
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 處理NSAlert 118
第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框架測試執行 142
10.5 測試用例重試 144
10.6 標記機制 146
10.6.1 對測試用例進行分級 146
10.6.2 跳過某些測試用例 148
10.7 全局設置 151
10.7.1 準備測試目錄 151
10.7.2 執行全局測試 153
10.8 測試報告 154
10.8.1 pytest-html測試報告 154
10.8.2 Allure測試報告 156
10.9 Pytest與Appium 161
10.10 Pytest參數化 163
第 11章 項目實戰 165
11.1 真機環境部署 166
11.2 自動化測試用例開發 167
11.2.1 測試用例設計 167
11.2.2 測試用例代碼實現 169
11.2.3 測試用例執行 176
11.3 代碼分析 177
第 12章 項目代碼優化 179
12.1 提高測試用例的靈活性 180
12.1.1 YAML 180
12.1.2 YAML文件操作 182
12.1.3 配置數據和代碼的分離 185
12.2 減少代碼冗餘 191
12.2.1 conftest.py 191
12.2.2 前置、後置代碼的分離 195
12.3 提高測試用例的可擴展性 197
12.3.1 CSV文件 198
12.3.2 CSV文件操作 198
12.3.3 測試數據和代碼的分離 200
12.4 提高測試用例的可維護性 201
12.4.1 頁面對象實踐 202
12.4.2 “危機”應對 211
12.4.3 新增的缺點 217
第 13章
自動化測試框架開發 219
13.1 自動化測試框架設計 220
13.2 優化目錄層級 221
13.2.1 Python的os模塊 221
13.2.2 調整模塊引用 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 測試數據 245
14.1.1 測試數據準備 245
14.1.2 冗餘數據處理 246
14.2 提升效率 247
14.3 模擬器與真機的異同 248
附錄A App的相關知識 250
附錄B 元素定位工具 251
附錄C iOS可用的Capabilities 252
附錄D 常用運算符 254
附錄E IOS_PREDICATE定位方式擴展 255
附錄F XPath的相關知識 257
附錄G 常用元素的類型及屬性 259
附錄H 在macOS設備中安裝Java 260