內容簡介
本書主要介紹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
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於客服中心或Line或本社留言板留言,我們即儘速上架。