《Selenium2自動化測試實戰:基於Python語言》是2016年電子工業出版社出版的圖書。
基本介紹
- 中文名:Selenium2自動化測試實戰:基於Python語言
- 作者:蟲師
- 出版社:電子工業出版社
- 出版時間:2016年
- 開本:16 開
- ISBN:9787121278532
內容簡介,作者簡介,目 錄,
內容簡介
本書分為12個章節,第1章是自動化測試相關基礎知識的介紹;第2章到第10章是本書的重點,循序漸進地介紹了自動化測試所用到的技術;第11章通過一個具體的項目綜合運用了前面章節所介紹的技術與技巧。第12章選取了當前*熱門的技術進行了介紹,旨在擴展測試人員的綜合技術能力。 本書的寫作目的並不是為了簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內容後能夠提高綜合的技術高度與寬度,從而擺脫簡單的手工測試,向高級測試工程師的道路邁進。
作者簡介
胡志恆 魅族科技(深圳)分公司高級測試工程師。2011年6月開始在部落格園上持續分享各種測試技術和經驗,文章多次被51testing等網站轉載,精通性能測試、自動化測試等技術。
目 錄
第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 fixtures193
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 SeleniumServer 環境配置 . 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.1multiprocessing 模組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.4Lettuce_webdriver 自動化測試 .303
本章小結 .308