Python 自動化測試入門與進階實戰

唐文 編著

  • 出版商: 機械工業
  • 出版日期: 2021-01-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 292
  • ISBN: 7111674014
  • ISBN-13: 9787111674016
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本書從Python自動化測試的概念講起,逐步深入自動化測試的進階知識,最後通過兩個綜合項目案例,重點介紹如何使用unittest+requests+Selenium進行RESTful API和跨終端自動化測試,讓讀者能夠從實踐中學會項目分析,編寫出高質量和高復用性的測試代碼,並全面、系統、深入地掌握Selenium從基礎到進階的相關知識。
本書共10章,分為2篇。第1篇“Python自動化測試基礎”,涵蓋的主要內容有自動化測試概述、Python HTTP接口編程、Selenium基礎知識、Python模擬數據測試、Python爬蟲測試接口、性能測試、App自動化測試,以及使用pytest進行單元測試;第2篇“Python自動化測試實戰”,涵蓋的主要內容有基於RESTful API的自動化測試案例,以及基於Selenium的Web自動化測試案例。
本書內容全面,語言通俗,案例豐富,代碼規範,特別適合有一定Python編程基礎而想要學習Python自動化測試技術的人員閱讀,也適合對自動化測試感興趣的相關從業人員和技術愛好者閱讀。另外,本書還可以作為高等院校相關專業的教材及相關培訓機構的教學用書。

本書特色
內容全面:涵蓋Web測試和App測試涉及的所有核心技術及典型場景。
講解詳細:詳解每個重要的知識點,並給出每個實例和項目案例的詳細實現步驟。
由淺入深:從概念講起,逐步深入核心技術,最後通過項目案例進行實踐。
實用性強:從實際的測試場景出發,結合多個典型實例與綜合案例進行講解。
技術前瞻:引入測試驅動開發和行為驅動開發等新技術和編程模式。

作者簡介

唐文 
慧博云通成都分公司高級研發工程師。
熱愛技術類文章的寫作及開源技術的傳播,運營與維護技術公眾號“成都有娃兒”與cnblogs博客。
曾在上市公司聚美優品和邊鋒領沃從事研發工作,也曾在創業公司擔任架構師和研發主管。
熱衷於新興技術,崇尚開源和全棧開發,熟悉PHP、Python、Golang和Java等後端技術棧,對自動化測試有較為深入的研究,並且積累了豐富的實踐經驗。

目錄大綱

前言

第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