本書主要包括兩部分內(nèi)容,第一部分重點介紹Python 的基礎知識,讓讀者可以從零開始入門Python Web 開發(fā)測試;第二部分重點介紹Python Web 項目的開發(fā)實踐,讓讀者可以一步一步地了解開發(fā)一個Python Web 項目的過程。
本書是一本介紹Python Web 測試開發(fā)的基礎書,從最基礎的Python 概念、Python 語法,到最后的Python Web 的項目實踐,囊括Python Web 測試開發(fā)所需的基礎知識和實踐方法,非常適合準備轉(zhuǎn)型PythonWeb 測試開發(fā)的人員。
同時,本書也介紹了Python 語言的一些高級特性,如語法糖、內(nèi)置表達式、魔法屬性等。因此本書也是一本Python 進階教程,適合那些已經(jīng)掌握一定的Python 基礎知識、希望提升Python 編程能力的讀者。
最后,本書一以貫之地以實踐為主旨,除了介紹Python 語法知識之外,更多地關注Python 語言的實踐。例如,第一部分會提供一些練習題,還會有專門的章節(jié)來介紹如何學習和使用Python 的類庫;而第二部分則重點介紹實踐項目。所以本書也很適合那些掌握了Python 知識卻沒有Python Web 項目實踐經(jīng)驗的讀者。
1.資深測試開發(fā)專家撰寫,凝聚自己多年開發(fā)經(jīng)驗,系統(tǒng)且深入闡釋利用Python進行Web自動化測試涉及的方法和實踐。
2. 作者提供售后服務,有QQ群答疑。
3. 作者有公眾號和博客,持續(xù)更新測試方面的內(nèi)容。
陳曉伍 Python愛好者、測試開發(fā)工程師;曾就職于新浪、當當,現(xiàn)就職于于汽車之家商業(yè)技術中心。出版過《Python Web自動化測試設計與實現(xiàn)》。
第 1 章 Python 基礎..................................1
1.1 Python 溯源................................................1
1.1.1 Python 的由來....................................1
1.1.2 Python 的特點....................................1
1.1.3 Python 的應用....................................2
1.1.4 Python 的版本....................................3
1.2 Python 環(huán)境安裝........................................4
1.2.1 Windows 環(huán)境安裝.............................4
1.2.2 Linux 環(huán)境安裝..................................5
1.2.3 多版本環(huán)境安裝.................................6
1.2.4 Python 第三方庫安裝.........................8
1.2.5 Python 虛擬環(huán)境安裝.......................10
1.2.6 PyCharm 開發(fā)環(huán)境安裝...................11
第 2 章 Python 語法................................17
2.1 初識Python..............................................17
2.1.1 Python 執(zhí)行環(huán)境..............................17
2.1.2 Python 執(zhí)行方式..............................18
2.2 基礎語法..................................................18
2.2.1 語法格式說明...................................18
2.2.2 基本數(shù)據(jù)類型...................................22
2.2.3 變量與常量.......................................27
2.2.4 運算符與表達式...............................28
2.3 邏輯控制語句..........................................36
2.3.1 if-else 語句.......................................36
2.3.2 for 語句.............................................37
2.3.3 while 語句.........................................37
2.3.4 continue 語句....................................38
2.3.5 break 語句.........................................38
2.3.6 pass 語句...........................................39
2.4 數(shù)據(jù)結構介紹..........................................40
2.4.1 列表...................................................40
2.4.2 元組...................................................44
2.4.3 字典...................................................45
2.4.4 字符串...............................................47
2.5 函數(shù)介紹..................................................55
2.5.1 函數(shù)定義...........................................55
2.5.2 匿名函數(shù)...........................................57
2.5.3 內(nèi)置函數(shù)介紹...................................58
2.6 類與對象..................................................65
2.6.1 類的定義...........................................65
2.6.2 模塊與包...........................................73
2.6.3 標準庫介紹.......................................74
2.7 異常處理..................................................75
2.7.1 異常捕獲與處理...............................75
2.7.2 異常拋出與分類...............................78
2.7.3 自定義異常.......................................79
2.7.4 異常妙用...........................................79
2.8 程序調(diào)試..................................................81
2.8.1 交互式...............................................81
2.8.2 調(diào)用式...............................................81
2.8.3 注入式...............................................82
2.8.4 Pdb 命令............................................82
第3 章 Python 進階................................85
3.1 特性語法..................................................85
3.1.1 Pythonic 編程...................................85
3.1.2 推導表達式.......................................88
3.1.3 上下文管理器...................................89
3.1.4 迭代器..............................................94
3.1.5 生成器..............................................96
3.1.6 閉包..................................................98
3.1.7 裝飾器............................................100
3.1.8 內(nèi)省................................................105
3.1.9 語法糖............................................112
3.1.10 魔法方法與屬性...........................113
3.2 并發(fā)編程................................................ 116
3.2.1 多進程............................................116
3.2.2 多線程............................................122
3.2.3 協(xié)程................................................127
3.2.4 異步................................................130
3.3 打包與發(fā)布............................................132
3.3.1 打包................................................132
3.3.2 發(fā)布................................................137
第4 章 常用庫實踐...............................138
4.1 日常類庫................................................138
4.1.1 sys——解釋器模塊........................138
4.1.2 os——操作系統(tǒng)模塊.....................139
4.1.3 getopt——命令行參數(shù)模塊...........143
4.1.4 minidom——XML 讀寫模塊.........145
4.1.5 json——讀寫JSON 模塊...............149
4.1.6 openpyxl——讀寫Excel 模塊.......152
4.1.7 logging——日志模塊.....................155
4.2 數(shù)據(jù)存儲庫............................................160
4.2.1 records——輕量級DB 框架..........160
4.2.2 redis——讀寫Redis 庫..................162
4.2.3 pymongo——讀寫MongoDB 庫....166
4.3 Web 相關庫............................................169
4.3.1 requests——HTTP 網(wǎng)絡請求庫.....169
4.3.2 Flask——Web 開發(fā)框架................172
第5 章 Web 前端開發(fā)基礎...............184
5.1 Vue 框架學習.........................................184
5.1.1 基本使用.........................................184
5.1.2 模板語法.........................................185
5.1.3 表單.................................................192
5.1.4 組件.................................................195
5.1.5 路由.................................................198
5.1.6 AJAX 請求......................................198
5.1.7 vue-cli 腳手架................................200
5.2 案例實戰(zhàn):任務列表............................202
5.2.1 需求說明及分析.............................202
5.2.2 模塊及設計.....................................202
5.2.3 數(shù)據(jù)庫設計.....................................203
5.2.4 前端開發(fā).........................................203
5.2.5 后端開發(fā).........................................212
5.2.6 前后端配置.....................................216
第6 章 測試開發(fā)實踐..........................217
6.1 測試代理服務開發(fā)(HProxy)............217
6.1.1 需求說明及分析.............................217
6.1.2 模塊及設計.....................................217
6.1.3 數(shù)據(jù)庫設計.....................................218
6.1.4 前端開發(fā).........................................219
6.1.5 后端開發(fā).........................................224
6.2 Mock 服務開發(fā)(iMock)....................232
6.2.1 需求說明及分析.............................232
6.2.2 模塊及設計.....................................232
6.2.3 數(shù)據(jù)庫設計.....................................233
6.2.4 前端開發(fā).........................................234
6.2.5 后端開發(fā).........................................239
6.3 數(shù)據(jù)查詢服務開發(fā)(iData)................248
6.3.1 需求說明及分析.............................248
6.3.2 模塊及設計.....................................248
6.3.3 前端開發(fā).........................................249
6.3.4 后端開發(fā).........................................253
6.4 API 測試平臺開發(fā)(iAPI) .................258
6.4.1 需求說明及分析.............................258
6.4.2 模塊及設計.....................................258
6.4.3 數(shù)據(jù)庫設計.....................................259
6.4.4 前端開發(fā).........................................260
6.4.5 后端開發(fā).........................................275
附錄...................................................................284
附錄1 數(shù)據(jù)庫結構文件..............................284
附錄2 整體部署架構..................................286
附錄3 Nginx 完整配置樣例........................287
附錄4 前后端代碼倉庫匯總.......................288