Selenium 2自動化測試實戰——基於Python語言

Selenium 2自動化測試實戰——基於Python語言

《Selenium 2自動化測試實戰——基於Python語言》是2016年1月電子工業出版社出版的圖書,作者是蟲師。

內容簡介

《Selenium 2自動化測試實戰——基於Python語言》共分 14 章。第 1 章是自動化測試相關基礎知識的介紹;第 2 章到第 10 章是《Selenium 2自動化測試實戰——基於Python語言》的重點,循 序漸進地介紹了自動化測試所用到的技術;第 11 章通過一個具體的項目綜合運用了前面章節所介紹 的技術與技巧;第 12 章到第 14 章選取了當前最熱門的技術進行了介紹,旨在擴展測試人員的綜合技 術能力。 《Selenium 2自動化測試實戰——基於Python語言》的寫作目的並不是為了簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習

《Selenium 2自動化測試實戰——基於Python語言》的內容後能夠提高綜合的技術高度與寬度,從而擺脫簡單的手工測試,向高級測試工程師的道路 邁進。

圖書目錄

第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

相關詞條

熱門詞條

聯絡我們