3dwoo大學簡體電腦書店
Python接口自動化測試
( 簡體 字)
作者:王浩然類別:1. -> 程式設計 -> Python
出版社:電子工業出版社Python接口自動化測試 3dWoo書號: 51168
詢問書籍請說出此書號!
有庫存
NT售價: 295
出版日:5/1/2019
頁數:232
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121356872 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
1 本書整體設計思想 . 1
1.1 為什么要做懂技術的測試人員 . 2
1.2 為什么選擇這本書. 4
1.3 為什么選擇Python 5
1.4 本書能給你帶來什么 . 6
1.5 自動化代碼的設計思路 . 6
1.5.1 由手工測試分析出哪些步驟可自動化處理 . 8
1.5.2 以可重復步驟為契機,梳理自動化測試的步驟 . 9
1.5.3 抽象自動化步驟到功能點 . 10
1.6 補充知識點 10
1.6.1 什么是面向對象編程中的對象 . 10
1.6.2 什么是面向對象編程中的類 . 11
1.6.3 什么是編程語言中的實例 . 11
1.6.4 自動化測試是不是比手工測試覆蓋率高 . 12
1.6.5 什么是自動化測試 . 13
1.6.6 什么是分層自動化測試 . 14

2 接口基礎 18
2.1 什么是接口 19
2.2 接口的分類 23
2.3 HTTP 接口 . 24
2.3.1 HTTP 發送請求的方式 28
2.3.2 GET 方式和POST 方式的區別 29
2.4 接口測試 30
2.4.1 什么是接口測試 . 30
2.4.2 為什么要做接口測試 . 30
2.4.3 如何開展接口測試 . 31
2.4.4 前/后端交互的“契約—接口”文檔 32
2.5 接口實例 34
2.5.1 前端頁面 . 34
2.5.2 數據流圖 . 35
2.5.3 邏輯代碼 . 39
2.6 補充知識點 40
2.6.1 名詞解釋 . 40
2.6.2 答疑 . 41

3 接口手工測試 . 43
3.1 HTTP 接口工具 . 44
3.2 Fiddler 工具的使用 47
3.2.1 Fiddler 工具介紹 47
3.2.2 手工調用HTTP 接口 . 48
3.2.3 獲取PC 端的網絡數據包 51
3.2.4 獲取手機端的網絡數據包 . 52
3.2.5 截包與改包 . 54
3.2.6 Fiddler 工具的其他功能 . 58
3.3 接口手工測試的用例設計 . 59
3.3.1 接口測試用例設計——總綱 59
3.3.2 接口測試用例設計——參數校驗 59
3.3.3 參數校驗——SQL 注入 . 62
3.3.4 接口測試用例設計——邏輯校驗 63
3.3.5 接口測試用例設計——用例模板 64
3.4 補充知識點 65

4 編程前的準備 67
4.1 Python 環境準備 68
4.1.1 選擇Python 2 還是Python 3 68
4.1.2 在Windows 下安裝Python 3 . 69
4.1.3 Python 2 和Python 3 共存之道 70
4.2 準備本地MySQL 服務 . 71
4.3 補充知識點 74
4.3.1 Python 2 與Python 3 的語法區別 74
4.3.2 Python 解釋器 . 75
4.3.3 Python 的函數 . 75

5 用Python 操作MySQL 數據庫 77
5.1 提前工作 78
5.2 操作MySQL 數據庫 . 80
5.2.1 用Python 操作MySQL 數據庫的流程 . 80
5.2.2 用Python 操作MySQL 代碼 . 81
5.3 本章所涉及的Python 語法 . 95
5.3.1 模塊與包 . 95
5.3.2 類 . 99
5.3.3 條件判斷 . 104
5.3.4 異常處理 . 106
5.3.5 Python 3 代碼注釋 107
5.4 PyCharm 使用基礎 109
5.4.1 為什么選擇PyCharm . 109
5.4.2 PyCharm 使用基礎 . 110
5.5 補充知識點 113
5.5.1 MySQLdb 與PyMySQL. 113
5.5.2 Python 命名規則 . 113
5.5.3 self.cur.scroll 源碼分析 113
5.5.4 主流數據庫的分類 . 115
5.5.5 MySQL 的基本語法 . 117

6 用Python 發送HTTP 請求 120
6.1 準備工作 121
6.2 發送HTTP 請求實例 123
6.2.1 用Python 發送HTTP 請求的流程 123
6.2.2 用Python 操作HTTP 請求的代碼 125
6.3 本章所涉及的Python 語法 . 135
6.3.1 數據類型 . 135
6.3.2 方法與函數 . 137
6.3.3 切片 . 140
6.3.4 日志模塊logging 141
6.4 補充知識點 142
6.4.1 Python 的循環機制 . 142
6.4.2 logging . 143

7 用Python 處理HTTP 返回包 144
7.1 提前工作 145
7.2 處理HTTP 返回包實例 . 145
7.2.1 用Python 處理HTTP 返回包的基礎 145
7.2.2 用Python 處理HTTP 返回包的流程 148
7.2.3 用Python 處理HTTP 返回包的代碼 150
7.3 本章所涉及的Python 語法 . 161
7.3.1 json 方法 . 161
7.3.2 字典的兩個方法 . 162
7.3.3 eval()與instance()方法 . 163
7.3.4 set()方法與issubset()方法 163
7.4 補充知識點 164
7.4.1 Python 的垃圾回收機制 . 164
7.4.2 字符串的startswith()和endswith()方法 166

8 用Python 導出測試數據 168
8.1 提前工作 169
8.2 用Python 導出測試數據 170
8.2.1 導出測試數據的基礎知識 170
8.2.2 導出測試數據實例 171
8.3 整體業務流程圖 176
8.4 補充知識點 178
8.4.1 Python 時間戳 178
8.4.2 Excel 的操作178

9 接口自動化起航 179
9.1 提前工作 180
9.2 代碼之外 180
9.2.1 初始化數據 180
9.2.2 代碼結構圖181
9.3 接口自動化起航代碼 182
9.3.1 業務邏輯梳理 182
9.3.2 代碼實例 183
9.4 代碼操作步驟 188
9.5 補充知識點 190
9.5.1 用print 格式化輸出 190
9.5.2 數據驅動和關鍵字驅動 191

10 實際接口場景演示 192
10.1 提前工作 193
10.2 接口舉例 193
10.3 準備與執行 193
10.3.1 設計接口測試用例193
10.3.2 按照接口用例設計準備測試數據 193
10.3.3 在config_total 表中增加執行與導出配置項 193
10.3.4 執行main.py 195

附錄A 本書用到的Python 代碼清單 196
本書主要介紹如何用Python實現接口自動化測試。全書主要內容包括接口基礎、接口手工測試、編程前的準備、用Python處理MySQL數據庫、用Python發送HTTP請求、用Python處理HTTP返回包、用Python導出測試數據、接口自動化起航及實際接口場景演示。本書所介紹的方法是作者在實際項目中實踐過的,擁有這本書,就擁有了整套的源碼。按照本書的環境設置,整套源碼是完全可運行的。本書適合初、中級測試工程師,對Python語言感興趣的人員,以及想要提升技術、突破技術的人員。
本書整體設計思想
自動化測試的前景
軟件測試,在大多數的公司中還是處于相對弱勢的地位,原因主要在軟件測試本身:相比于軟件開發,軟件測試無論進入門檻還是編程能力,要求都低一些;而且大多數公司的軟件測試還局限于手工測試。這就造成了業界對軟件測試的偏見——軟件測試只是隨便按一按鼠標,技術含量低。
誠然,軟件測試離不開手工測試,但不能只有手工測試沒有編程能力。技術性測試的方法有很多,常見的有自動化測試、性能測試、白盒測試、安全性測試等,這些測試方法都需要測試人員有比較強的編程能力。其中,自動化測試的進入門檻較低,但效果最明顯,所以,自動化測試可以作為廣大測試人員進入技術性測試的切入點。
現階段,薪資高一些的測試崗位,普遍要求從業人員具有自動化基礎及實際操作能力。所以,從就業角度來說,自動化測試是突破測試行業薪資瓶頸的一條捷徑;從測試人員的職業發展來說,學習一定的技術,有助于建立技術思維及行業內部的溝通,便于將來繼續走測試技術路線,或是轉到其他崗位。
本書寫作目的
相信很多測試人員和我的經歷很像,從最開始的手工測試開始積累經驗,在這個過程中肯定想過做自動化測試、做技術。我最開始是用QTP(Quick Test Professional,一種自動測試工具)錄制了登錄功能,看著瀏覽器自動打開、自動輸入網址、自動登錄,那種愉悅的心情是不言而喻的。但是,真正能轉型成功(或者說能有一技之長)的測試人員還是偏少的,原因就在于難以突破關鍵技術點。
各種編程語言本身都有相同點,只要掌握突破了一門,其他語言學起來也就沒那么難了。所以,如何突破一門語言,如何跨過第一道門檻,成為制約測試人員技術能力提升的關鍵點,這也是本書編寫的目的——引導測試人員突破Python 的入門難點。
為什么要選擇Python?最主要的原因是——合適。正所謂“鞋合不合適只有腳知道”。
Python 簡單易學的特點,恰好符合測試人員的要求。很多時候,我都在懷疑Python 是不
是專為測試人員量身打造的。關于Python 的更多優勢,讀者可以在正文中看到。
本書特點
作者在構思本書的時候,也翻閱了市面上很多同類技術書籍,發現絕大多數都有一個通病——采用教科書的寫作模式。所謂“教科書模式”,即按照“語言的歷史→語法→章節練習→案例講解”的模式來展開。這種模式很經典,內容也很翔實,但是太過于死板和理論化。這樣的書雖然仔細閱讀后確實能收獲很多,但是不利于快速上手。
讀教科書模式的書時,學習者很容易半途而廢,包括我自己,經常是看了不到三分之一的內容就放棄了,所有的新鮮勁都在語法和練習中被消磨殆盡了。我真正開始寫腳本并不是從某本書開始的,而是從實際的項目拆分入手的,遇到問題再去翻這類教科書,純粹將它當作工具書來使用。
所以,本書不是按照傳統的教科書模式編寫的,而是從實際要實現的目標著手,一步步將目標拆分成知識點,再對知識點進行突破,將每個點拆分成一個個小的突破點——類似于“拆書幫”(某個學習社區)的形式,將“Python+MySQL 處理HTTP 協議接口的過程”拆解到一個個章節中。讀者在每個章節中都能學到完整的一個知識點,最后串聯各個知識點,實現最終的學習目標。關于如何分解、如何逐個突破,讀者可以在正文中看到。
讀者通過實現每個章節的功能,逐步建立對Python 的理解,通過小篇幅的功能實現來提升成就感,激發自己繼續往下看、繼續往下學的信心和勇氣。本書所介紹的方法是作者在實際項目中實踐過的,并且也被很多業內同行所采用。讀者不僅可以將其用在Python 學習中,也可以用在其他語言甚至生活中。
讀者對象
? 對Python 感興趣的人員;
? 想在項目中實現HTTP 協議接口自動化測試的人員;
? 想要提升技術的人員;
? 初、中級測試工程師。
有關于任何問題、建議和疑問,歡迎發郵件
致謝
感謝Guido van Rossum 于1989 年發明了Python。
感謝電子工業出版社審校此書,以及為本書能夠快速出版而付出的辛苦。
感謝何飛在本書構思和出版中所做的指導和幫助。沒有他的指引就沒有本書的出現。
感謝我的家人,感謝你們對我工作的理解和支持,有你們一直的付出才有今天的這本書。
作 者
pagetop