《Python Web自動化測試設計與實現》是2019年4月1日清華大學出版社出版的圖書,作者是陳曉伍。
基本介紹
- 書名:Python Web自動化測試設計與實現
- 作者:陳曉伍
- ISBN:9787302519294
- 頁數:372頁
- 定價:79元
- 出版社:清華大學出版社
- 出版時間:2019年4月1日
- 裝幀:平裝
- 印次:1-1
- 印刷日期:2019年2月22日
內容簡介,目錄,
內容簡介
本書是資深測試開發專家的經驗結晶,由淺入深地闡釋了Web自動化測試的相關技術,包括Web UI自動化測試、API自動化測試及測試相關的基礎開發。通過學習本書,讀者可以基本掌握Web測試相關的大部分技術點。本書是測試相關人員必備的技術指導。書中每個技術點都有示例代碼,理論與實踐相結合的方式能夠使讀者快速理解Web自動化測試。本書循序漸進地講解了Web自動化測試的各項知識點
目錄
緒論 1
第1章 Selenium基礎 9
1.1 Selenium的歷史和分支 9
1.2 Selenium的特點 12
1.3 Selenium名詞說明 12
1.3.1 Selenium RC 12
1.3.2 Selenium Server 12
1.3.3 Selenium WebDriver 13
1.3.4 Selenium Client 13
1.3.5 Selenium Grid 13
1.3.6 Selenium IDE 13
1.4 Selenium基本原理 14
1.5 Selenium環境搭建 15
1.5.1 Windows環境搭建 16
1.5.2 Ubuntu環境搭建 22
1.5.3 MacOS環境搭建 26
1.6 Selenium調用不同瀏覽器 28
1.6.1 調用Firefox瀏覽器 28
1.6.2 調用Chrome瀏覽器 29
1.6.3 調用IE瀏覽器 30
1.6.4 IE瀏覽器安全機制設定 30
1.7 Selenium Docker的使用 31
1.7.1 Docker環境安裝 32
1.7.2 Selenium Docker鏡像下載 35
1.7.3 Docker下運行Selenium腳本 36
1.8 Selenium 3說明 38
1.8.1 不再支持Selenium RC 38
1.8.2 僅支持JDK 1.8.0以上版本 38
1.8.3 Selenium IDE支持Chrome外掛程式 38
1.8.4 FireFox需要安裝獨立驅動 38
1.8.5僅支持IE9.0以上版本39
1.8.6支持微軟的Edge瀏覽器39
1.8.7支持官方的SafariDriver39
第2章Python編程基礎41
2.1基礎語法41
2.1.1Python語句執行41
2.1.2Python語法格式42
2.1.3Python變數與類型44
2.1.4Python運算符與表達式47
2.2控制語句52
2.2.1if-else語句52
2.2.2for語句53
2.2.3while語句53
2.2.4continue語句54
2.2.5break語句54
2.2.6pass語句55
2.3模組化55
2.3.1函式55
2.3.2類與實例59
2.3.3模組檔案61
2.3.4包62
2.4基礎數據結構63
2.4.1列表63
2.4.2元組64
2.4.3字典65
2.4.4遍歷數據67
2.5輸入/輸出67
2.5.1命令行輸入/輸出67
2.5.2檔案輸入/輸出69
2.6內置函式70
2.6.1id函式70
2.6.2dir函式71
2.6.3help函式71
2.6.4type函式72
2.6.5isinstance函式72
2.6.6zip函式72
2.6.7filter函式72
2.6.8map函式73
2.6.9reduce函式73
2.7異常73
2.7.1異常捕獲73
2.7.2自定義異常75
2.8魔法特性76
2.8.1列表推導式76
2.8.2疊代器77
2.8.3生成器78
2.8.4閉包79
2.8.5裝飾器79
2.8.6內省機制83
2.9並發任務86
2.9.1多進程86
2.9.2多執行緒91
2.9.3協程93
2.10編解碼96
2.10.1源碼檔案編碼97
2.10.2解釋器默認編碼98
2.10.3外部檔案編碼99
2.10.4資料庫編碼100
2.10.5編解碼函式100
第3章WebUI自動化基礎102
3.1HTML與DOM簡介102
3.2學習元素定位方式104
3.3CSS定位技術106
3.4使用工具幫助定位106
3.4.1IE的DeveloperTool107
3.4.2Firefox的Web開發者工具107
3.4.3Chrome的開發者工具108
3.4.4Firefox的XPathChecker外掛程式108
3.4.5Chrome的XPath工具109
3.4.6Firefox的CSS外掛程式109
3.4.7Chrome的CSS工具110
3.4.8Firefox的WebDriverElementLocator外掛程式110
3.5Selenium中進行元素定位112
3.5.1獲取一個定位元素112
3.5.2獲取一組定位元素113
3.5.3匹配非第一個元素114
第4章SeleniumIDE115
4.1SeleniumIDE安裝115
4.1.1Firefox安裝115
4.1.2SeleniumIDE線上安裝116
4.1.3SeleniumIDE本地安裝117
4.2SeleniumIDE功能介紹120
4.2.1SeleniumIDE視窗120
4.2.2選單欄121
4.2.3地址欄123
4.2.4工具列124
4.2.5用例管理區124
4.2.6用例腳本開發區125
4.2.7信息輸出區126
4.3SeleniumIDE使用126
4.3.1SeleniumIDE錄製與回放126
4.3.2SeleniumIDE腳本編輯128
4.3.3SeleniumIDE元素定位138
4.3.4SeleniumIDE匹配模式141
4.3.5SeleniumIDE腳本轉換143
第5章Selenium常規對象接口148
5.1瀏覽器對象操作148
5.1.1查找元素方法148
5.1.2瀏覽器視窗方法149
5.1.3Cookie處理方法149
5.2WebElement對象操作150
5.3文本框對象操作152
5.4按鈕對象操作152
5.5下拉列表對象操作153
5.6連結對象操作154
第6章WebUI自動化特殊場景處理156
6.1處理多視窗測試場景156
6.2處理瀏覽器彈框場景158
6.2.1Alert對象及方法158
6.2.2優雅地處理Alert彈框159
6.3Selenium進行鍵盤滑鼠操作160
6.3.1鍵盤操作160
6.3.2滑鼠操作161
6.4非Web控制項的操作實現162
6.5Selenium執行JavaScript及操作DOM164
6.6Selenium截屏操作165
第7章UnitTest單元測試框架167
7.1常規使用方式167
7.2測試套件使用169
7.3TestLoader的使用170
7.4UnitTest載入流程172
第8章分層框架設計與實現173
8.1數據驅動層174
8.1.1檔案存儲175
8.1.2資料庫存儲176
8.2定位符驅動層180
8.2.1本地檔案存儲181
8.2.2遠程服務存儲183
8.3頁面操作層185
8.4業務邏輯層190
8.4.1公共業務190
8.4.2常規業務191
8.5結果驅動層193
8.5.1日誌Logger記錄193
8.5.2自定義Logger記錄199
8.5.3郵件通知結果203
8.6異常處理層204
8.6.1程式異常處理204
8.6.2斷言異常處理208
8.6.3自定義異常類209
第9章測試腳本部署211
9.1使用SVN管理測試腳本211
9.1.1SVN服務安裝212
9.1.2SVN客戶端安裝217
9.1.3SVN使用簡介219
9.1.4SVN操作規範223
9.2遠程執行用例場景224
9.3SeleniumGrid模組及搭建228
9.3.1SeleniumGrid環境搭建229
9.3.2SeleniumGrid使用232
9.4持續集成的自動化測試232
第10章WebAPI介紹236
10.1HTTP簡介236
10.1.1HTTP請求報文237
10.1.2HTTP回響報文239
10.2WebAPI介紹240
10.3RESTAPI介紹241
第11章WebAPI自動化基礎243
11.1正則表達式模組學習243
11.1.1字元搜尋244
11.1.2字元替換和分割246
11.1.3表達式修飾符246
11.1.4其他事項247
11.2XML讀寫模組的學習248
11.2.1讀取XML文檔249
11.2.2寫入XML文檔252
11.3JSON模組的學習253
11.3.1JSON串生成254
11.3.2JSON串解析256
11.4MD5、BASE64編解碼256
11.4.1BASE64編解碼257
11.4.2MD5加密258
11.4.3數據序列化259
第12章Python傳送HTTP請求261
12.1HTTP請求傳送261
12.1.1requests模組安裝261
12.1.2傳送GET請求262
12.1.3傳送POST請求264
12.1.4傳送multipart/form-data請求265
12.1.5傳送其他類型請求266
12.2HTTP請求認證266
12.2.1HTTPBasicAuth267
12.2.2HTTPDigestAuth267
12.2.3OAuth認證268
12.2.4自定義認證268
12.3URL的編解碼269
12.4HTTP回響內容驗證271
12.4.1狀態碼驗證271
12.4.2回響頭驗證272
12.4.3回響體驗證273
12.5多執行緒傳送請求276
12.5.1函式式多執行緒276
12.5.2類繼承式多執行緒279
第13章API工具設計與實現282
13.1最簡單的API工具282
13.1.1請求方法設定284
13.1.2請求頭設定288
13.1.3支持檔案上傳289
13.1.4簡單結果驗證292
13.2測試數據讀取293
13.2.1測試數據格式293
13.2.2數據存儲方式294
13.2.3實現數據讀取296
13.3測試數據用例化299
13.3.1用例基本信息299
13.3.2用例套件信息301
13.3.3用例模板信息302
13.4測試流程控制304
13.4.1鉤子函式接口設計305
13.4.2鉤子函式接口調用307
13.4.3鉤子函式接口實現309
13.5測試結果驗證311
13.5.1完全匹配311
13.5.2內容包含312
13.5.3正則匹配313
13.5.4JSONPath313
13.6測試數據記錄315
13.6.1結果記錄315
13.6.2日誌記錄317
第14章集成為Web服務319
14.1Web服務簡介319
14.1.1Web框架選擇320
14.1.2DEMO實現321
14.1.3框架開發學習322
14.2Web上啟動用例執行330
14.2.1運行參數接收332
14.2.2測試請求處理335
14.3Web上查看測試結果337
14.3.1任務列表頁338
14.3.2用例結果頁340
14.4持續集成的API自動化測試342
14.4.1用例集保存342
14.4.2用例集執行345
第15章HTTPMock開發347
15.1HTTPMock介紹347
15.2HTTPMock分析348
15.3HTTPMock實現349
15.3.1根據請求URL過濾349
15.3.2根據請求方法過濾350
15.3.3根據請求頭過濾352
15.3.4根據請求數據過濾353
參考文獻356
結束語357
7.1常規使用方式167
7.2測試套件使用169
7.3TestLoader的使用170
7.4UnitTest載入流程172
第8章分層框架設計與實現173
8.1數據驅動層174
8.1.1檔案存儲175
8.1.2資料庫存儲176
8.2定位符驅動層180
8.2.1本地檔案存儲181
8.2.2遠程服務存儲183
8.3頁面操作層185
8.4業務邏輯層190
8.4.1公共業務190
8.4.2常規業務191
8.5結果驅動層193
8.5.1日誌Logger記錄193
8.5.2自定義Logger記錄199
8.5.3郵件通知結果203
8.6異常處理層204
8.6.1程式異常處理204
8.6.2斷言異常處理208
8.6.3自定義異常類209
第9章測試腳本部署211
9.1使用SVN管理測試腳本211
9.1.1SVN服務安裝212
9.1.2SVN客戶端安裝217
9.1.3SVN使用簡介219
9.1.4SVN操作規範223
9.2遠程執行用例場景224
9.3SeleniumGrid模組及搭建228
9.3.1SeleniumGrid環境搭建229
9.3.2SeleniumGrid使用232
9.4持續集成的自動化測試232
第10章WebAPI介紹236
10.1HTTP簡介236
10.1.1HTTP請求報文237
10.1.2HTTP回響報文239
10.2WebAPI介紹240
10.3RESTAPI介紹241
第11章WebAPI自動化基礎243
11.1正則表達式模組學習243
11.1.1字元搜尋244
11.1.2字元替換和分割246
11.1.3表達式修飾符246
11.1.4其他事項247
11.2XML讀寫模組的學習248
11.2.1讀取XML文檔249
11.2.2寫入XML文檔252
11.3JSON模組的學習253
11.3.1JSON串生成254
11.3.2JSON串解析256
11.4MD5、BASE64編解碼256
11.4.1BASE64編解碼257
11.4.2MD5加密258
11.4.3數據序列化259
第12章Python傳送HTTP請求261
12.1HTTP請求傳送261
12.1.1requests模組安裝261
12.1.2傳送GET請求262
12.1.3傳送POST請求264
12.1.4傳送multipart/form-data請求265
12.1.5傳送其他類型請求266
12.2HTTP請求認證266
12.2.1HTTPBasicAuth267
12.2.2HTTPDigestAuth267
12.2.3OAuth認證268
12.2.4自定義認證268
12.3URL的編解碼269
12.4HTTP回響內容驗證271
12.4.1狀態碼驗證271
12.4.2回響頭驗證272
12.4.3回響體驗證273
12.5多執行緒傳送請求276
12.5.1函式式多執行緒276
12.5.2類繼承式多執行緒279
第13章API工具設計與實現282
13.1最簡單的API工具282
13.1.1請求方法設定284
13.1.2請求頭設定288
13.1.3支持檔案上傳289
13.1.4簡單結果驗證292
13.2測試數據讀取293
13.2.1測試數據格式293
13.2.2數據存儲方式294
13.2.3實現數據讀取296
13.3測試數據用例化299
13.3.1用例基本信息299
13.3.2用例套件信息301
13.3.3用例模板信息302
13.4測試流程控制304
13.4.1鉤子函式接口設計305
13.4.2鉤子函式接口調用307
13.4.3鉤子函式接口實現309
13.5測試結果驗證311
13.5.1完全匹配311
13.5.2內容包含312
13.5.3正則匹配313
13.5.4JSONPath313
13.6測試數據記錄315
13.6.1結果記錄315
13.6.2日誌記錄317
第14章集成為Web服務319
14.1Web服務簡介319
14.1.1Web框架選擇320
14.1.2DEMO實現321
14.1.3框架開發學習322
14.2Web上啟動用例執行330
14.2.1運行參數接收332
14.2.2測試請求處理335
14.3Web上查看測試結果337
14.3.1任務列表頁338
14.3.2用例結果頁340
14.4持續集成的API自動化測試342
14.4.1用例集保存342
14.4.2用例集執行345
第15章HTTPMock開發347
15.1HTTPMock介紹347
15.2HTTPMock分析348
15.3HTTPMock實現349
15.3.1根據請求URL過濾349
15.3.2根據請求方法過濾350
15.3.3根據請求頭過濾352
15.3.4根據請求數據過濾353
參考文獻356
結束語357