1. 程式人生 > 其它 >[書目20211113]Python自動化測試入門與進階實戰

[書目20211113]Python自動化測試入門與進階實戰

第1篇 Python自動化測試基礎

第1章 自動化測試概述 2

1.1 測試方式分類 2

1.2 自動化測試的概念和優點 4

1.3 為什麼用Python進行自動化測試 5

1.4 介面測試和UI測試的比較 6

1.5 小結 10

第2章 Python HTTP介面程式設計 11

2.1 發起HTTP請求示例 11

2.1.1 HTTP請求原理解析 11

2.1.2 利用Python發起HTTP請求 13

2.1.3 利用Python處理響應物件 14

2.2 HTTP簡介 14

2.2.1 HTTP狀態碼 15

2.2.2 利用Python處理業務碼 18

2.3 GET和POST請求 19

2.3.1 HTTP請求方式 20

2.3.2 利用Python發起GET請求 20

2.3.3 利用Python發起POST請求 22

2.3.4 利用Python完成自動登入示例 24

2.4 小結 25

第3章 Selenium基礎知識 26

3.1 Selenium概述 26

3.2 Selenium環境搭建 27

3.2.1 安裝Selenium包 27

3.2.2 安裝不同瀏覽器的驅動包 27

3.3 在Selenium中選擇元素物件 28

3.3.1 根據id和name選擇元素物件 28

3.3.2 根據link text選擇元素物件 29

3.3.3 根據XPath選擇元素物件 29

3.3.4 CSS選擇器 30

3.4 使用Selenium完成自動登入 33

3.4.1 自動登入百度網盤 34

3.4.2 自動登入QQ空間 36

3.5 滑鼠事件 36

3.6 鍵盤事件 39

3.7 對一組物件定位 40

3.8 對層級物件定位 43

3.9 iframe中的物件定位 46

3.10 除錯方法 48

3.11 對話方塊處理 49

3.12 跨瀏覽器的視窗處理 50

3.13 分頁處理 51

3.14 控制瀏覽器的滾動條 53

3.15 小結 54

第4章 Python模擬資料測試 55

4.1 模擬測試簡介 55

4.1.1 模擬測試的定義和使用場景 55

4.1.2 安裝Mock庫 56

4.1.3 Mock物件簡介 56

4.1.4 簡單用例 57

4.2 測試留言板功能 58

4.2.1 測試新增功能 59

4.2.2 對測試失敗的情況進行處理 62

4.3 Mock庫的高階用法 63

4.3.1 Patch簡介 63

4.3.2 Patch的簡單用例 63

4.3.3 利用Patch測試購物車類 64

4.4 模擬登入 68

4.4.1 登入的完整用例 68

4.4.2 通過面向物件的方式實現登入 70

4.5 小結 70

第5章 Python爬蟲測試介面 72

5.1 爬蟲測試簡介 72

5.1.1 爬蟲測試的思路和流程 72

5.1.2 urllib庫的使用 73

5.1.3 urllib 3簡介 78

5.1.4 BeautifulSoup的使用 79

5.1.5 使用BeautifulSoup爬取BOSS直聘網站上的資訊 82

5.1.6 正則表示式簡介 90

5.1.7 封裝一個強大的爬蟲工具類 93

5.2 Scrapy基礎 94

5.2.1 Scrapy簡介 94

5.2.2 Scrapy的基本用法 96

5.2.3 Scrapy爬蟲實踐 99

5.3 測試商品列表頁面的完整用例 102

5.4 多執行緒爬蟲用例 106

5.5 反爬蟲安全策略 108

5.5.1 tesserocr庫簡介 109

5.5.2 圖片滑塊驗證碼 112

5.5.3 IP限制 115

5.6 小結 116

第6章 效能測試 118

6.1 效能測試簡介 118

6.2 Locust工具的使用 119

6.2.1 環境搭建 120

6.2.2 Locust快速入門 124

6.2.3 Locust和其他工具整合 129

6.3 常用的壓力測試工具 130

6.3.1 輕量級http_load工具的使用 131

6.3.2 webbench工具的使用 132

6.3.3 AB工具的使用 133

6.3.4 利用Python操作AB工具 137

6.4 利用多執行緒實現效能提升 141

6.5 使用JMeter對Selenium自動化程式碼進行壓力測試 146

6.6 小結 152

第7章 App自動化測試 154

7.1 App自動化測試簡介 154

7.2 測試計劃設計 157

7.3 Appium自動化測試框架 159

7.3.1 Appium工具簡介 159

7.3.2 環境搭建 160

7.3.3 Android Studio的簡單使用 165

7.3.4 自動化測試手機計算器 169

7.3.5 Appium的常用API 172

7.4 小結 175

第8章 使用pytest進行單元測試 176

8.1 單元測試簡介 176

8.1.1 單元測試的重要性 177

8.1.2 單元測試框架簡介 178

8.1.3 安裝pytest 179

8.1.4 pytest的簡單用例 180

8.2 pytest的基本用法 189

8.2.1 斷言 190

8.2.2 異常處理 192

8.2.3 執行測試和引數設定 193

8.2.4 對測試結果進行分析和處理 198

8.3 pytest進階之conftest的使用 202

8.4 其他單元測試框架 206

8.5 小結 208

第2篇 Python自動化測試實戰

第9章 基於RESTful API的自動化測試案例 210

9.1 RESTful API簡介 210

9.2 介面分析 211

9.3 編寫配置 214

9.4 資料準備 221

9.5 新增文章介面測試程式碼用例 222

9.6 修改文章介面測試程式碼用例 225

9.7 刪除文章介面測試程式碼用例 226

9.8 查詢文章介面測試程式碼用例 227

9.9 API測試工具 229

9.9.1 Tavern簡介 229

9.9.2 Tavern的基本用法 229

9.9.3 使用Tavern測試文章的所有介面 231

9.10 小結 232

第10章 基於Selenium的Web自動化測試案例 233

10.1 自研自動化測試框架 233

10.2 使用Selenium自動化操作網盤 242

10.2.1 基本操作封裝 242

10.2.2 傳送通知郵件 247

10.3 使用Lettuce進行測試 250

10.3.1 TDD和BDD簡介 251

10.3.2 使用pytest-bdd進行測試 252

10.3.3 Lettuce初體驗 255

10.3.4 編寫Lettuce程式 258

10.3.5 Aloe的使用 260

10.4 Selenium跨瀏覽器測試實戰 262

10.4.1 Selenium Server的安裝 262

10.4.2 Selenium資料驅動測試 267

10.4.3 poium測試庫 274

10.4.4 pyautoTest Web UI自動化專案 275

10.5 小結 277