第 1章自動化測試基礎 ................................................................................................. 1
1.1分層的自動化測試 ................................................................................................ 1
1.2適閤自動化測試的項目 ........................................................................................ 3
1.3如何學習 UI自動化測試 ...................................................................................... 4
1.4 Selenium簡介 ........................................................................................................ 4
1.5 appium簡介 ........................................................................................................... 8
第 2章測試環境搭建 .................................................................................................. 10
2.1安裝 Python .......................................................................................................... 10
2.2安裝 Selenium ...................................................................................................... 12
2.3第一個 Selenium自動化測試腳本 ..................................................................... 12
2.4瀏覽器驅動 .......................................................................................................... 13
第 3章 Python基礎..................................................................................................... 16
3.1 Python哲學 .......................................................................................................... 16
3.2輸齣 ...................................................................................................................... 18
3.2.1 打印 .......................................................................................................... 18
3.2.2 引號與注釋 .............................................................................................. 19
3.3分支與循環 .......................................................................................................... 20
3.3.1 if語句 ....................................................................................................... 20
3.3.2 for語句 .................................................................................................... 21
3.4列錶、元組與字典 .............................................................................................. 22
3.4.1 列錶 .......................................................................................................... 22
3.4.2 元組 .......................................................................................................... 23
3.4.3 字典 .......................................................................................................... 24
3.5函數、類和方法 .................................................................................................. 25
3.5.1 函數 .......................................................................................................... 25
3.5.2 類和方法 .................................................................................................. 26
3.6模組 ...................................................................................................................... 27
3.6.1 調用模塊 .................................................................................................. 27
3.6.2 自定義模塊 .............................................................................................. 30
3.6.3 跨目錄調用文件 ...................................................................................... 31
3.6.4 編寫自測代碼 .......................................................................................... 33
3.7異常 ...................................................................................................................... 34
3.7.1 認識異常 .................................................................................................. 34
3.7.2 更多異常用法 .......................................................................................... 37
3.7.3 拋齣異常 .................................................................................................. 37
3.8新手常犯的錯誤 .................................................................................................. 38
第 4章 WebDriver API ................................................................................................ 40
4.1從定位元素開始 .................................................................................................. 40
4.1.1 id定位 ...................................................................................................... 44
4.1.2 name定位 ................................................................................................ 44
4.1.3 class定位 ................................................................................................. 44
4.1.4 tag定位 .................................................................................................... 44
4.1.5 link定位 ................................................................................................... 45
4.1.6 partial link定位 ........................................................................................ 45
4.1.7 XPath定位 ............................................................................................... 46
4.1.8 CSS定位 .................................................................................................. 48
4.1.9 用 By定位元素 ....................................................................................... 51
4.2控製瀏覽器 .......................................................................................................... 52
4.2.1 控製瀏覽器窗口大小 .............................................................................. 52
4.2.2 控製瀏覽器後退、前進 .......................................................................... 52
4.2.3 模擬瀏覽器刷新 ...................................................................................... 53
4.3 WebDriver中的常用方法 .................................................................................... 53
4.4鼠標操作 .............................................................................................................. 55
4.5鍵盤操作 .............................................................................................................. 57
4.6獲得驗證信息 ...................................................................................................... 58
4.7設置元素等待 ...................................................................................................... 59
4.7.1 顯式等待 .................................................................................................. 60
4.7.2 隱式等待 .................................................................................................. 62
4.8定位一組元素 ...................................................................................................... 63
4.9多錶單切換 .......................................................................................................... 64
4.10多窗口切換 ........................................................................................................ 65
4.11警告框處理 ........................................................................................................ 67
4.12下拉框處理 ........................................................................................................ 69
4.13上傳文件 ............................................................................................................ 70
4.14下載文件 ............................................................................................................ 72
4.15操作 Cookie ........................................................................................................ 74
4.16調用 JavaScript ................................................................................................... 75
4.17處理 HTML5視頻播放 ..................................................................................... 77
4.18滑動解鎖 ............................................................................................................ 79
4.19窗口截圖 ............................................................................................................ 82
4.20關閉窗口 ............................................................................................................ 83
第 5章自動化測試模型 ............................................................................................... 84
5.1基本概念 .............................................................................................................. 84
5.2自動化測試模型 .................................................................................................. 85
5.3模塊化與參數化 .................................................................................................. 86
5.4讀取數據文件 ...................................................................................................... 89
5.4.1 讀取 txt文件 ............................................................................................ 89
5.4.2 讀取 CSV文件 ........................................................................................ 91
5.4.3 讀取 XML文件 ....................................................................................... 92
5.4.4 讀取 JSON文件 ....................................................................................... 94
第 6章 unittest單元測試框架 ...................................................................................... 96
6.1認識 unittest.......................................................................................................... 97
6.1.1 認識單元測試 .......................................................................................... 97
6.1.2 重要的概念 ............................................................................................ 100
6.1.3 斷言方法 ................................................................................................ 103
6.1.4 測試用例的組織與 discover方法 ......................................................... 104
6.2關於 unittest還需要知道的 ............................................................................... 108
6.2.1 測試用例的執行順序 ............................................................................ 108
6.2.2 執行多級目錄的測試用例 .................................................................... 110
6.2.3 跳過測試和預期失敗 ............................................................................ 111
6.2.4 Fixtures ................................................................................................... 113
6.3編寫 Web自動化測試 ....................................................................................... 114
第 7章 unittest擴展 ................................................................................................... 118
7.1 HTML測試報告 ................................................................................................ 118
7.1.1 下載與安裝 ............................................................................................ 118
7.1.2 生成 HTML測試報告 ........................................................................... 119
7.1.3 更易讀的測試報告 ................................................................................ 121
7.1.4 測試報告文件名 .................................................................................... 123
7.2數據驅動應用 .................................................................................................... 124
7.2.1 數據驅動 ................................................................................................ 125
7.2.2 Parameterized ......................................................................................... 128
7.2.3 DDT ........................................................................................................ 130
7.3自動發送郵件功能 ............................................................................................ 134
7.3.1 Python自帶的發送郵件功能 ................................................................ 134
7.3.2 用 yagmail發送郵件 ............................................................................. 136
7.3.3 整閤自動發送郵件功能 ........................................................................ 137
第 8章 Page Object .................................................................................................. 140
8.1認識 Page Object................................................................................................ 140
8.2實現 Paget Object ............................................................................................... 141
8.2.1 Paget Object簡單實例 ........................................................................... 142
8.2.2 改進 Paget Object封裝 .......................................................................... 143
8.3 poium測試庫 ..................................................................................................... 146
8.3.1 基本使用 ................................................................................................ 147
8.3.2 更多用法 ................................................................................................ 148
第 9章 pytest單元測試框架 ...................................................................................... 150
9.1 pytest簡單例子 .................................................................................................. 150
9.2 pytest的基本使用方法 ...................................................................................... 152
9.2.1 斷言 ........................................................................................................ 152
9.2.2 Fixture .................................................................................................... 153
9.2.3 參數化 .................................................................................................... 157
9.2.4 運行測試 ................................................................................................ 158
9.2.5 生成測試報告 ........................................................................................ 160
9.2.6 conftest.py .............................................................................................. 162
9.3 pytest擴展 .......................................................................................................... 163
9.3.1 pytest-html.............................................................................................. 163
9.3.2 pytest-rerunfailures................................................................................. 164
9.3.3 pytest-parallel擴展 ................................................................................ 165
9.4構建 Web自動化測試項目 ............................................................................... 166
9.4.1 項目結構介紹 ........................................................................................ 166
9.4.2 主要代碼實現 ........................................................................................ 168
9.4.3 測試用例的運行與測試報告 ................................................................ 173
第 10章 Selenium Grid ............................................................................................. 176
10.1 Selenium Grid 介紹 ......................................................................................... 176
10.1.1 Selenium Server環境配置 ................................................................... 176
10.1.2 Selenium Grid工作原理 ...................................................................... 178
10.2 Selenium Grid應用 .......................................................................................... 180
10.2.1 Remote實例 ......................................................................................... 181
10.2.2 Grid執行過程 ...................................................................................... 183
10.2.3 創建遠程節點 ...................................................................................... 185
第 11章 Jenkins持續集成 ......................................................................................... 187
11.1下載 Tomcat...................................................................................................... 188
11.2下載 Jenkins ..................................................................................................... 189
11.3安裝配置 Jenkins ............................................................................................. 190
11.4 Jenkins的基本使用.......................................................................................... 192
11.4.1 創建一個構建任務 .............................................................................. 192
11.4.2 運行 Python測試 ................................................................................. 195
11.4.3 安裝插件 .............................................................................................. 196
11.5 Selenium自動化項目配置 .............................................................................. 197
11.5.1 配置 Git/GitHub ................................................................................... 197
11.5.2 配置項目運行 ...................................................................................... 200
11.5.3 配置 HTML報告 ................................................................................. 201
11.5.4 配置構建統計 ...................................................................................... 204
11.5.5 配置自動發送郵件 .............................................................................. 205
第 12章 appium的介紹與安裝 .................................................................................. 210
12.1 appium介紹 ..................................................................................................... 210
12.1.1 移動應用類型 ...................................................................................... 210
12.1.2 appium的架構 ..................................................................................... 211
12.1.3 appium的工作過程 ............................................................................. 214
12.2 appium環境搭建 ............................................................................................. 215
12.2.1 Android Studio ..................................................................................... 216
12.2.2 Android模擬器 .................................................................................... 219
12.2.3 appium Desktop .................................................................................... 222
12.2.4 Python Client ........................................................................................ 223
12.2.5 第一個 appium測試 ............................................................................ 223
第 13章 appium基礎 ................................................................................................ 226
13.1 Desired Capabilities.......................................................................................... 226
13.2 控件定位 .......................................................................................................... 228
13.2.1 id定位 .................................................................................................. 229
13.2.2 Class Name定位 .................................................................................. 230
13.2.3 XPath定位 ........................................................................................... 231
13.2.4 Accessibility id定位 ............................................................................ 232
13.2.5 Android uiautomator定位.................................................................... 233
13.2.6 其他定位 .............................................................................................. 234
13.3 appium的常用 API .......................................................................................... 235
13.3.1 應用操作 .............................................................................................. 235
13.3.2 上下文操作 .......................................................................................... 236
13.3.3 鍵盤操作 .............................................................................................. 238
13.3.4 觸摸操作 .............................................................................................. 238
13.3.5 特有操作 .............................................................................................. 241
13.4 appium Desktop ................................................................................................ 243
13.4.1 準備工作 .............................................................................................. 243
13.4.2 控件定位 .............................................................................................. 245
13.4.3 腳本錄製 .............................................................................................. 246
第 14章 appium測試實例 ......................................................................................... 249
14.1 appium應用測試 ............................................................................................. 249
14.1.1 原生應用測試 ...................................................................................... 249
14.1.2 移動 Web應用測試 ............................................................................. 250
14.1.3 混閤應用測試 ...................................................................................... 252
14.2 App測試實戰 .................................................................................................. 254
14.2.1 安裝 App .............................................................................................. 254
14.2.2 簡單的測試用例 .................................................................................. 255
14.2.3 自動化項目設計 .................................................................................. 256
· · · · · · (
收起)