接口自動化測試項目實戰:Python 3.8+Requests+PyMySQL+pyte( 簡體 字) | |
作者:江楚 | 類別:1. -> 程式設計 -> Python |
出版社:清華大學出版社 | 3dWoo書號: 55379 詢問書籍請說出此書號! 缺書 NT售價: 295 元 |
出版日:11/1/2021 | |
頁數:190 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302593751 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第一部分接口自動化測試基礎
第1章部署被測系統........3 1.1安裝Docker服務........3 1.2通過Docker部署Tomcat服務器........4 1.3通過Docker部署MySQL數據庫.......5 1.4通過Docker部署ZrLog項目包........7 第2章使用Requests庫發送HTTP請求......10 2.1Requests庫的安裝.........10 2.2驗證安裝結果...........11 2.3發送一個GET請求..........12 2.4發送一個POST請求..........13 2.5攜帶Headers發送請求.........15 2.6攜帶cookies發送請求..........16 2.7調用request()方法發送請求........19 第3章使用os庫操作目錄及文件.......21 3.1通過os庫方法獲取平臺信息.........21 3.1.1使用os.sep()方法獲取系統分隔符.........21 3.1.2使用os.name()方法獲取操作系統的平臺類型.......22 3.1.3使用os.getcwd()方法獲取當前工作目錄.......23 3.2通過os庫方法對目錄或文件進行增刪改查......23 3.2.1使用os.listdir()方法查詢目錄下的文件列表......23 3.2.2使用os.mkdir()方法創建目錄文件.........25 3.2.3使用os.rmdir()方法刪除一個空目錄.......26 3.2.4使用os.remove()方法刪除指定文件........26 3.2.5使用os.rename()方法重命名目錄或文件.......27 3.3通過os.path子模塊來操作目錄及文件......28 3.3.1使用__file__特殊成員返回當前文件的全路徑......29 3.3.2使用os.path.dirname()方法返回文件所在目錄......30 3.3.3使用os.path.abspath()方法返回文件絕對路徑.......31 3.3.4組合使用os.path.dirname()方法和os.path.abspath()方法.....31 3.3.5使用os.path.join()方法進行路徑拼接........32 3.3.6使用os.path.exists()方法判斷路徑是否存在......33 第4章使用logging庫記錄日志信息.....35 4.1logging庫的基本使用..........35 4.1.1日志等級說明............35 4.1.2日志的常用函數............36 4.1.3日志常用的輸出格式...........36 4.1.4basicConfig()方法的使用.........37 4.2將日志輸出到控制臺和文件.........38 4.2.1將日志輸出到控制臺...........38 4.2.2將日志輸出到文件..........40 4.2.3將日志同時輸出到控制臺和文件........42 4.3日志記錄實例應用..........44 第5章使用PyMySQL庫操縱數據庫......47 5.1PyMySQL庫的安裝.........47 5.2驗證PyMySQL庫是否安裝成功.......47 5.3連接數據庫前的準備工作........48 5.4通過PyMySQL庫操縱Zrlog數據庫實例.....50 5.4.1通過fetchone()方法讀取表中數據.........50 5.4.2通過execute()方法執行數據回寫........52 5.4.3通過rollback()方法執行數據回滾........55 5.4.4通過execute()方法執行數據刪除........58 第6章應用pytest測試框架.......60 6.1pytest測試框架的安裝.........60 6.2驗證pytest是否安裝成功.........61 6.3函數和方法的執行規則..........62 6.3.1函數的執行規則............62 6.3.2方法的執行規則............64 6.4參數化的應用...........65 6.4.1單個參數的參數化應用.........66 6.4.2多個參數的參數化應用.........70 6.5使用assert原生斷言.........75 6.6pytest的setup和teardown方法........80 6.6.1模塊級別............80 6.6.2函數級別............82 6.6.3類級別.............83 6.6.4類方法級別............85 6.6.5類方法細化級別............86 6.7配置文件設置...........88 6.8生成測試報告...........90 第二部分構建接口自動化測試框架 第7章設計ZrLog項目的測試用例.......95 7.1設計接口測試用例..........95 7.1.1提取接口信息并分析...........95 7.1.2根據接口信息設計測試用例.........101 7.2測試用例的存儲方式..........106 7.2.1建立數據庫實例..........107 7.2.2建立主測試用例表..........108 7.2.3建立配置信息表..........114 7.2.4建立執行結果記錄表...........116 7.2.5通過Excel文件導入測試用例........118 第8章設計ZrLog項目接口自動化測試框架.....122 8.1ZrLog接口測試框架的環境.........122 8.2ZrLog接口測試框架設計的流程圖......123 8.3ZrLog接口測試框架的層次結構........124 8.4ZrLog接口測試框架基礎層級設計......125 8.4.1新建ZrLog接口自動化項目.........125 8.4.2建立config層并封裝settings.py文件........127 8.4.3建立report層存儲測試報告.........129 8.4.4建立log層存儲日志信息..........130 8.4.5建立utils層存儲工具類..........131 8.4.6封裝日志工具類..........131 8.4.7封裝數據庫工具類..........135 8.4.8封裝測試用例讀取工具類.........138 8.4.9封裝HTTP請求工具類.........142 8.4.10新建pytest.ini配置文件..........147 8.5ZrLog接口測試框架核心層級設計......148 8.5.1建立common核心層并封裝base.py文件......148 8.5.2建立testcase核心層并封裝test_run.py文件.......152 8.5.3通過pytest框架運行test_run.py文件.......162 8.5.4通過log層查看運行日志..........163 8.5.5通過report層查看測試報告.........163 第9章接口自動化的持續集成......165 9.1持續集成所涉及的環境........165 9.2持續集成運行的流程圖........166 9.3注冊并建立遠程倉庫..........166 9.4安裝并使用Git版本管理工具........168 9.4.1安裝Git客戶端...........168 9.4.2初始化Git本地倉庫...........169 9.4.3建立與遠程倉庫的信任關系.........171 9.4.4通過Git命令提交代碼到遠程倉庫.......173 9.5通過Docker部署Jenkins容器.......176 9.6通過Jenkins容器部署Python3.8.5環境.....177 9.7通過Jenkins構建定時任務,并實現持續集成....179 9.7.1訪問Jenkins平臺..........179 9.7.2建立Jenkins與遠程倉庫的信任關系........181 9.7.3通過Jenkins平臺設置定時任務.........184 9.7.4查看定時任務執行結果.........187 9.8通過Jenkins安裝測試報告插件.......188 本書采用項目驅動模式,并通過Python庫建立起一套基礎的、實用的接口自動化測試框架。
本書共分為兩部分,第一部分為接口自動化測試基礎,包括第1~6章,先帶讀者部署被測系統, 然后分別講解 HTTP 請求的發送(Requests 庫)、目錄及文件的操作(os 庫)、日志信息的 記錄與輸出(logging 庫)、數據庫的操縱(PyMySQL 庫)、pytest 框架的使用等,所用的庫 都是設計接口自動化測試框架常用的基礎庫。第二部分為構建接口自動化測試框架,包括第 7 ~ 9 章,將應用第一部分的基礎知識,帶讀者對 ZrLog 項目設計測試用例、搭建接口自動化 測試框架、實現接口自動化測試框架的持續集成等。 本書不但展示了設計接口自動化測試框架的整個過程,還講解了設計接口自動化測試框 架所需的基礎能力和思維。本書適合接口自動化測試的從業者閱讀,也適合相關專業的院校 及各大培訓機構作為教材。 隨著市場需求的變化,90% 以上的企業在招聘測試人員時,都會提出接口自動化測試的相關要求,為什么會有這樣的現象呢?
目前,軟件構架基本上都是前后端分離的,軟件的主要功能由服務端提供。從整個軟件測試市場來看,大部分的測試人員還是以功能測試和 UI 自動化測試(基于 Web 頁面的自動化測試)為主,即以前端的頁面測試為主,并不涉及過多的服務端測試(接口測試)。但由于軟件開發成本提高,開發周期和迭代周期縮短,僅僅做前端的頁面測試已不能滿足軟件對質量的各項要求。 在軟件測試領域,服務端測試的主要對象是由服務端所提供的接口,因此也被稱為接口測試。接口測試的優勢在于,在一個前端頁面的開發還未完成時,測試就可以提前介入。接口測試也分為手工接口測試及接口自動化測試。手工接口測試一般可以通過 posman 或者 jmeter 等接口工具來完成;在接口的功能趨于穩定之后,便可以實現代碼級的接口自動化測試及持續集成,這是本書講述的重點。 與 UI 自動化測試相比,接口自動化測試執行速度快,反饋迅速,可以覆蓋更多的場景,可以更快地發現服務端問題。測試工作介入得越早,解決 Bug 的成本越低,產品也會更加穩定,因此接口自動化測試幾乎成了 UI 自動化測試人員發展的必經之路。從目前的市場需求來看,接口自動化測試人才在市場中所占比例較低,薪資高,市場缺口巨大。 本書特色 本書選用了 Python 3.8+Requests+PyMySQL+pytest+Jenkins 的組合,這些庫和技術都是目前互聯網公司大量使用的主流技術。本書將帶領讀者搭建一個接口自動化測試的框架,并希望讀者能將其思想應用到實際的工作之中。本書由淺入深、循序漸進地帶領讀者在實際項目中完成接口自動化測試實戰學習與應用。 配套資源 為便于教學,本書配有框架的源代碼、測試用例、視頻資源、項目及環境安裝包等。配套視頻可直接掃描相應章節的二維碼觀看(手機屏幕小,Pad 觀看效果更佳);配套的代碼、用例等,請掃描封底“本書資源”二維碼下載。 致謝 感謝我善良的母親,母親的溫柔照亮了整個歲月、整個家;感謝我的父親,父親是軍人出身,這幾十年里不斷地提醒和教誨我。有時候特別害怕他們老去的速度,他們把心鋪成路,卻還怕我們磕了腳。愿我們都懂得感恩,在他們老去之前真真正正地成為他們的驕傲吧。感謝本書的編輯王中英老師,王老師不斷地給我鼓勵和信心,并對本書提出了很多寶貴的建議。 江 楚 2021 年 7 月 |