第1 章 自動化測試基礎 .................................................................................... 1
1.1 軟件測試分類 ........................................................................................................ 1
1.2 分層的自動化測試 ................................................................................................ 6
1.3 什麼樣的項目適閤自動化測試 ............................................................................ 9
1.4 自動化測試及工具簡述 ...................................................................................... 10
1.5 Selenium 工具介紹 .............................................................................................. 11
1.6 前端技術介紹 ...................................................................................................... 14
1.7 前端工具介紹 ...................................................................................................... 16
1.8 開發語言的選擇 .................................................................................................. 19
第2 章 測試環境搭建 .......................................................................................... 21
2.1 Windows 下的環境搭建 ...................................................................................... 21
2.1.1 安裝Python .............................................................................................. 22
2.1.2 安裝setuptools 與pip .............................................................................. 24
2.1.3 安裝Selenium .......................................................................................... 26
2.1.4 ActivePython ............................................................................................ 26
2.2 Ubuntu 下的環境搭建 ......................................................................................... 28
2.3 使用IDLE 編寫Python ....................................................................................... 29
2.4 編寫第一個自動化腳本 ...................................................................................... 32
2.5 安裝瀏覽器驅動 .................................................................................................. 34
2.6 不同編程語言下使用WebDriver ........................................................................ 35
第3 章 Python 基礎 ................................................................................................ 37
3.1 Python 哲學 .......................................................................................................... 37
3.2 輸齣與輸入 .......................................................................................................... 39
3.2.1 print 打印 .................................................................................................. 40
3.2.2 input 輸入 ................................................................................................. 41
3.2.3 引號與注釋 .............................................................................................. 41
3.3 分支與循環 .......................................................................................................... 43
3.3.1 if 語句 ....................................................................................................... 43
3.3.2 for 語句 .................................................................................................... 45
3.4 數組與字典 .......................................................................................................... 47
3.4.1 數組 .......................................................................................................... 47
3.4.2 字典 .......................................................................................................... 47
3.5 函數、類和方法 .................................................................................................. 49
3.5.1 函數 .......................................................................................................... 49
3.5.2 類和方法 .................................................................................................. 50
3.6 模組 ...................................................................................................................... 52
3.6.1 引用模塊 .................................................................................................. 52
3.6.2 模塊調用 .................................................................................................. 55
3.6.3 跨目錄模塊調用 ...................................................................................... 56
3.6.4 進一步討論跨目錄模塊調用 .................................................................. 56
3.7 異常 ...................................................................................................................... 60
3.7.1 認識異常 .................................................................................................. 60
3.7.2 更多異常用法 .......................................................................................... 64
3.7.3 拋齣異常 .................................................................................................. 66
本章小結 ....................................................................................................................... 66
第4 章 WebDriver API ............................................................................................... 68
4.1 從定位元素開始 .................................................................................................. 68
4.1.1 id 定位 ...................................................................................................... 72
4.1.2 name 定位 ................................................................................................ 73
4.1.3 class 定位 ................................................................................................. 73
4.1.4 tag 定位 .................................................................................................... 73
4.1.5 link 定位 ................................................................................................... 73
4.1.6 partial link 定位 ........................................................................................ 74
4.1.7 XPath 定位 ............................................................................................... 75
4.1.8 CSS 定位 .................................................................................................. 78
4.1.9 用By 定位元素 ........................................................................................ 82
4.2 控製瀏覽器 .......................................................................................................... 83
4.2.1 控製瀏覽器窗口大小 .............................................................................. 83
4.2.2 控製瀏覽器後退、前進 .......................................................................... 84
4.2.3 模擬瀏覽器刷新 ...................................................................................... 85
4.3 簡單元素操作 ...................................................................................................... 86
4.3.1 126 郵箱登錄 ........................................................................................... 86
4.3.2 WebElement 接口常用方法 ..................................................................... 87
4.4 鼠標事件 .............................................................................................................. 89
4.5 鍵盤事件 .............................................................................................................. 92
4.6 獲得驗證信息 ...................................................................................................... 93
4.7 設置元素等待 ...................................................................................................... 95
4.7.1 顯式等待 .................................................................................................. 95
4.7.2 隱式等待 .................................................................................................. 98
4.7.3 sleep 休眠方法 ......................................................................................... 99
4.8 定位一組元素 .................................................................................................... 100
4.9 多錶單切換 ........................................................................................................ 104
4.10 多窗口切換 ...................................................................................................... 106
4.11 警告框處理 ...................................................................................................... 108
4.12 上傳文件 .......................................................................................................... 110
4.12.1 send_keys 實現上傳 ............................................................................. 110
4.12.2 AutoIt 實現上傳 ................................................................................... 111
4.13 下載文件 .......................................................................................................... 116
4.14 操作Cookie ...................................................................................................... 117
4.15 調用JavaScript ................................................................................................. 120
4.16 處理HTML5 的視頻播放 ............................................................................... 123
4.17 窗口截圖 .......................................................................................................... 124
4.18 關閉窗口 .......................................................................................................... 125
4.19 驗證碼的處理 .................................................................................................. 125
4.20 WebDriver 原理 ................................................................................................ 128
本章小結 ..................................................................................................................... 130
第5 章 自動化測試模型 ................................................................................. 132
5.1 自動化測試模型介紹 ........................................................................................ 133
5.1.1 綫性測試 ................................................................................................ 133
5.1.2 模塊化驅動測試 .................................................................................... 134
5.1.3 數據驅動測試 ........................................................................................ 134
5.1.4 關鍵字驅動測試 .................................................................................... 136
5.2 模塊化驅動測試實例 ........................................................................................ 138
5.3 數據驅動測試實例 ............................................................................................ 140
5.3.1 參數化郵箱登錄 .................................................................................... 141
5.3.2 參數化搜索關鍵字 ................................................................................ 142
5.3.3 讀取txt 文件 .......................................................................................... 143
5.3.4 讀取csv 文件 ......................................................................................... 144
5.3.5 讀取xml 文件 ........................................................................................ 146
本章小結 ..................................................................................................................... 150
第6 章 Selenium IDE .............................................................................. 151
6.1 Selenium IDE 安裝 ............................................................................................. 151
6.1.1 在綫安裝 ................................................................................................ 151
6.1.2 下載插件安裝 ........................................................................................ 153
6.2 Selenium IDE 界麵介紹 ..................................................................................... 154
6.3 創建測試用例 .................................................................................................... 155
6.3.1 錄製腳本 ................................................................................................ 155
6.3.2 編輯腳本 ................................................................................................ 156
6.4 Selenium IDE 命令 ............................................................................................. 159
6.5 斷言與驗證 ........................................................................................................ 162
6.5.1 斷言 ........................................................................................................ 164
6.5.2 驗證 ........................................................................................................ 165
6.6 等待與變量 ........................................................................................................ 167
6.6.1 等待 ........................................................................................................ 167
6.6.2 變量 ........................................................................................................ 167
本章小結 ............................................................................................... 169
第7 章 unittest 單元測試框架 ........................................................... 170
7.1 認識unittest........................................................................................................ 171
7.1.1 認識單元測試 ........................................................................................ 171
7.1.2 重要的概念 ............................................................................................ 174
7.1.3 斷言方法 ................................................................................................ 176
7.1.4 組織單元測試用例 ................................................................................ 181
7.1.5 discover 更多測試用例 .......................................................................... 184
7.2 關於unittest 還需要知道的 ............................................................................... 187
7.2.1 用例執行的順序 .................................................................................... 188
7.2.2 執行多級目錄的用例 ............................................................................ 190
7.2.3 跳過測試和預期失敗 ............................................................................ 191
7.2.4 fixtures .................................................................................................... 193
7.3 帶unittest 的腳本分析 ....................................................................................... 195
7.4 編寫Web 測試用例 ........................................................................................... 200
本章小結 ..................................................................................................................... 203
第8 章 自動化測試高級應用 ................................................................................... 204
8.1 HTML 測試報告 ................................................................................................ 204
8.1.1 修改HTMLTestRunner .......................................................................... 205
8.1.2 生成HTML 測試報告 ........................................................................... 206
8.1.3 更易讀的測試報告 ................................................................................ 208
8.1.4 測試報告文件名 .................................................................................... 209
8.1.5 項目集成測試報告 ................................................................................ 212
8.2 自動發郵件功能 ................................................................................................ 213
8.2.1 發送HTML 格式的郵件 ....................................................................... 216
8.2.2 發送帶附件的郵件 ................................................................................ 217
8.2.3 查找最新的測試報告 ............................................................................ 218
8.2.4 整閤自動發郵件功能 ............................................................................ 219
8.3 Page Object 設計模式 ....................................................................................... 221
8.3.1 認識Page Object .................................................................................... 221
8.3.2 Paget Object 實例 ................................................................................... 223
本章小結 ..................................................................................................................... 228
第9 章 Selenium Grid2 ................................................................................. 229
9.1 Selenium Server 環境配置 ................................................................................. 229
9.2 Selenium Grid 工作原理 .................................................................................... 233
9.3 Remote 應用 ....................................................................................................... 236
9.3.1 WebDriver 驅動分析 .............................................................................. 237
9.3.2 Remote 實例 ........................................................................................... 243
9.3.3 參數化平颱及瀏覽器 ............................................................................ 243
9.4 WebDriver 驅動 .................................................................................................. 246
9.4.1 Edge 瀏覽器 ........................................................................................... 249
9.4.2 Opera 瀏覽器 ......................................................................................... 250
9.4.3 Safari 瀏覽器 .......................................................................................... 251
9.4.4 HtmlUnit 模式 ........................................................................................ 251
9.4.5 PhantomJS 模式 ..................................................................................... 252
本章小結 ..................................................................................................................... 254
第10 章 Python 多綫程 ............................................................................................. 255
10.1 單綫程的時代 .................................................................................................. 256
10.2 多綫程技術 ...................................................................................................... 258
10.2.1 threading 模塊 ...................................................................................... 258
10.2.2 優化綫程的創建 .................................................................................. 260
10.2.3 創建綫程類 .......................................................................................... 262
10.3 多進程技術 ...................................................................................................... 263
10.3.1 multiprocessing 模塊 ............................................................................ 263
10.3.2 Pipe 和Queue ....................................................................................... 266
10.4 應用於自動化測試 .......................................................................................... 268
10.4.1 多綫程執行測試用例 .......................................................................... 269
10.4.2 多綫程分布式執行測試用例 .............................................................. 270
本章小結 ..................................................................................................................... 272
第11 章 自動化測試項目實戰 ..................................................................................... 273
11.1 自動化測試用例設計 ....................................................................................... 273
11.1.1 手工測試用例與自動化測試用例 ....................................................... 273
11.1.2 測試類型 .............................................................................................. 275
11.1.3 自動化測試用例編寫原則 .................................................................. 276
11.2 BBS 社區項目實戰 .......................................................................................... 277
11.2.1 準備工作 .............................................................................................. 277
11.2.2 項目結構介紹 ...................................................................................... 278
11.2.3 編寫公共模塊 ...................................................................................... 281
11.2.4 編寫Page Object .................................................................................. 283
11.2.5 編寫測試用例 ...................................................................................... 286
11.2.6 執行測試用例 ...................................................................................... 289
本章小結 ..................................................................................................................... 291
第12 章 BDD 框架之Lettuce 入門 ........................................................................... 292
12.1 什麼是BDD ..................................................................................................... 292
12.2 安裝Lettuce ..................................................................................................... 294
12.3 階乘的例子 ...................................................................................................... 295
12.3.1 什麼是階乘 .......................................................................................... 295
12.3.2 編寫BDD 實現 .................................................................................... 296
12.3.3 添加測試場景 ...................................................................................... 300
12.3.4 Lettuce 目錄結構與執行過程 ............................................................. 303
12.4 Lettuce_webdriver 自動化測試 ....................................................................... 303
本章小結 ..................................................................................................................... 308
(第13 章和第14 章內容可到博文視點網站免費下載)
第13 章 GitHub 托管項目 ....................................................................................... 309
13.1 注冊與安裝 ...................................................................................................... 310
13.1.1 注冊GitHub ......................................................................................... 310
13.1.2 安裝Git ................................................................................................ 310
13.1.3 建立連接 .............................................................................................. 311
13.2 Git/GitHub 基本使用 ....................................................................................... 314
13.2.1 GitHub 創建項目 ................................................................................. 314
13.2.2 本地創建項目 ...................................................................................... 315
13.2.3 剋隆項目 .............................................................................................. 318
13.2.4 更新項目 .............................................................................................. 319
本章小結 ..................................................................................................................... 323
第14 章 持續集成Jenkins 入門 ............................................................................ 324
14.1 環境搭建 .......................................................................................................... 325
14.2 創建任務 .......................................................................................................... 328
14.3 運行構建 .......................................................................................................... 333
14.4 定時執行構建 .................................................................................................. 335
本章小結 ..................................................................................................................... 338
· · · · · · (
收起)