從零開始學Selenium自動化測試:基于Python:視頻教學版( 簡體 字) | |
作者:李曉鵬 夜無雪 著 | 類別:1. -> 程式設計 -> 網路爬蟲 2. -> 程式設計 -> Python |
出版社:機械工業出版社 | 3dWoo書號: 53877 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:12/1/2020 | |
頁數:311 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111670032 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 自動化測試基礎 1
1.1 自動化測試簡介 1 1.1.1 自動化測試的定義 2 1.1.2 自動化測試與手工測試的關系 2 1.1.3 何時開展自動化測試 3 1.1.4 自動化測試的優勢 4 1.1.5 自動化測試的實施場景 4 1.1.6 自動化測試的成本 5 1.2 自動化測試工具 6 1.2.1 自主開發測試工具 6 1.2.2 開源測試工具 7 1.2.3 商業測試工具 7 1.2.4 自動化測試工具的選擇 8 1.2.5 “年度最佳”自動化測試工具 10 1.3 自動化測試的分層 13 第2章 Selenium基礎 16 2.1 Selenium簡介 16 2.1.1 Selenium的特點 16 2.1.2 Selenium的發展史 17 2.1.3 Selenium的工具集 17 2.1.4 Selenium 3.0的新特性 20 2.2 成就“大神”之路 21 2.2.1 開發語言 21 2.2.2 前端知識 21 2.2.3 前端工具 24 2.2.4 網絡基礎知識 27 2.2.5 開發語言技能 28 2.2.6 持續集成 28 2.2.7 分布式 28 2.2.8 自動化測試平臺 28 第3章 環境部署 29 3.1 Python的安裝 29 3.1.1 Windows環境下的Python安裝 30 3.1.2 Linux環境下的Python安裝 35 3.2 Selenium的安裝 36 3.2.1 在線安裝 36 3.2.2 離線安裝 37 3.3 IDE工具的選擇 40 3.3.1 PyCharm簡介 40 3.3.2 PyCharm的安裝 41 3.3.3 PyCharm的簡單使用 42 3.4 瀏覽器驅動程序的安裝 46 3.4.1 Chrome瀏覽器的安裝 46 3.4.2 Firefox瀏覽器的安裝 49 第4章 Selenium IDE 52 4.1 Selenium IDE簡介 52 4.1.1 Selenium IDE的安裝 52 4.1.2 Selenium IDE的運行 56 4.2 Selenium IDE菜單欄 59 4.3 Selenium IDE工具欄 62 4.4 Selenium IDE地址欄 65 4.5 測試用例窗口 65 4.5.1 導航面板 66 4.5.2 腳本編輯區域 72 4.6 日志窗口與引用窗口 75 4.7 Katalon Studio自動化測試 76 4.7.1 Katalon Recorder的安裝 76 4.7.2 案例:Katalon Recorder的數據驅動 83 第5章 元素定位 86 5.1 元素定位簡介 86 5.2 瀏覽器定位元素 87 5.2.1 Firefox瀏覽器 87 5.2.2 Chrome瀏覽器 88 5.3 Web元素定位 89 5.3.1 ID定位 90 5.3.2 name定位 91 5.3.3 class定位 92 5.3.4 tag定位 96 5.3.5 link定位 98 5.3.6 partial_link_text定位 99 5.3.7 XPath定位元素 100 5.3.8 CSS定位元素 108 5.3.9 find_element定位 112 第6章 WebDriver API剖析 115 6.1 操作瀏覽器的基本方法 115 6.1.1 瀏覽器的大小控制 115 6.1.2 瀏覽器的前進與后退 116 6.1.3 頁面刷新 117 6.1.4 獲取頁面URL地址與標題 117 6.1.5 獲取瀏覽器類型 119 6.1.6 關閉當前窗口與退出瀏覽器 119 6.2 元素的操作方法 120 6.2.1 清除元素的內容 121 6.2.2 提交表單 121 6.2.3 獲取元素的尺寸 121 6.2.4 獲取元素的屬性與文本 122 6.3 鼠標操作 124 6.3.1 右擊操作 124 6.3.2 雙擊操作 125 6.3.3 拖動操作 125 6.3.4 鼠標指針懸停操作 126 6.4 鍵盤操作 126 6.5 定位一組元素 128 6.6 等待時間 131 6.6.1 強制等待 131 6.6.2 隱式等待 132 6.6.3 顯式等待 133 6.7 Frame切換 136 6.8 警告框與彈出框的處理 139 6.9 單選按鈕、復選框和下拉列表框的處理 142 6.10 檢查元素是否啟用或顯示 146 6.11 文件上傳與下載 147 6.11.1 文件上傳 147 6.11.2 文件下載 153 6.12 Cookie的處理 155 6.12.1 獲取Cookie 156 6.12.2 獲取指定的Cookie 159 6.12.3 添加Cookie 159 6.12.4 刪除Cookie 160 6.12.5 接口測試中的Cookie操作 163 6.13 富文本 165 6.14 標簽頁切換 166 6.15 屏幕截圖 167 6.16 執行JavaScript腳本 169 6.16.1 JavaScript操作日期控件 170 6.16.2 JavaScript處理多窗口 173 6.16.3 JavaScript處理視頻 174 6.16.4 JavaScript控制瀏覽器滾動條 176 6.16.5 JavaScript的其他操作 179 6.17 操作畫布 179 第7章 單元測試框架 181 7.1 單元測試簡介 181 7.2 單元測試框架簡介 181 7.3 UnitTest框架 182 7.3.1 UnitTest簡介 182 7.3.2 UnitTest的核心要素 182 7.3.3 工作流程 183 7.3.4 UnitTest案例實戰 183 7.4 Pytest框架 192 7.4.1 Pytest簡介 192 7.4.2 安裝Pytest 192 7.4.3 Pytest案例實戰 195 7.4.4 測試用例的運行控制 197 7.4.5 在編譯器中配置Pytest 201 第8章 自動化測試高級應用 202 8.1 HTML測試報告 202 8.1.1 HTMLTestRunner簡介 202 8.1.2 HTMLTestRunner的優化 202 8.1.3 測試報告的生成 203 8.2 通過郵件發送測試報告 204 8.2.1 郵件發送基礎 204 8.2.2 通過郵件發送測試報告實例 207 第9章 Page Object設計模式 214 9.1 Page Object設計模式簡介 214 9.2 Page Object案例實戰 216 9.2.1 基類的維護 216 9.2.2 測試頁面設計 217 9.2.3 測試用例的設計 218 9.3 定時運行 218 第10章 自動化測試框架 224 10.1 自動化框架設計與實現的前期準備 224 10.1.1 INI配置文件 224 10.1.2 INI配置文件的讀取 225 10.1.3 讀取INI配置文件的封裝 226 10.1.4 數據驅動操作 227 10.1.5 獲取測試數據 228 10.1.6 對數據驅動操作進行封裝 230 10.1.7 日志 230 10.1.8 日志綜合案例 233 10.2 自動化框架的設計與實現 235 10.2.1 自動化框架的設計 235 10.2.2 自動化框架的實現 236 第11章 持續集成 256 11.1 持續集成簡介 256 11.2 Jenkins部署 258 11.3 Jenkins與自動化 268 第12章 Selenium Grid分布式測試 276 12.1 Selenium Grid簡介 276 12.2 Selenium Server配置 276 12.3 Selenium Server工作原理 277 12.4 Selenium Grid分布式測試案例實踐 282 第13章 Selenium與虛擬化 292 13.1 Docker簡介 292 13.1.1 Docker架構 292 13.1.2 下載Docker 293 13.2 安裝Docker 294 13.3 Selenium與Docker的結合 302 附錄 310 參考文獻 313 本書基于Python語言,系統地介紹了Selenium 3自動化測試的相關知識及應用。書中的大部分知識點都匹配了可獨立運行的典型實例,便于讀者學習與實踐。另外,為了幫助讀者高效、直觀地學習,本書特意提供約10小時的基礎操作配套教學視頻。相信讀者通過系統學習本書內容,可以全面掌握Selenium自動化測試技術。
本書共13章,涵蓋自動化測試基礎、Selenium基礎、環境部署、Selenium IDE、元素定位、WebDriver API剖析、單元測試框架、自動化測試高級應用、Page Object設計模式、自動化測試框架、持續集成、Selenium Gird分布式、Selenium與虛擬化。 本書內容豐富,語言通俗易懂,講解由淺入深,適合有Python語言基礎的測試入門人員閱讀,也適合測試工程師尤其Web自動化測試工程師閱讀。另外,本書還適合作為相關院校軟件測試專業的教學用書。 本書特色 全面涵蓋自動化測試的前期評估、WebDriver、單元測試、Page Object設計模式、自動化框架的設計與實現、虛擬化等方方面面知識。 不僅介紹相關概念和原理,而且還匹配相應的自動化測試案例,實操性強。 從基礎和原理入手,再輔以典型案例,讓前文的講解作為后文的鋪墊,容易上手。 提供配套教學視頻和教學PPT,幫助讀者高效、直觀地學習。 筆者很早就進入了測試行業,所在團隊早期的項目都是基于QTP實現的自動化場景案例及圍繞QTP實現的自動化測試框架。團隊一直都在使用HP公司的自動化測試工具,(從低版本QTP到高版本的UFT)。在2011年的一次內部測試技術討論會議上,筆者與幾位曾經有庫巴科技及百度工作經歷的同事一起進行自動化選型討論,當時大家都提到了Selenium。
當時團隊的項目大部分屬于金融(保險和銀行等)類型的Web項目,加之一些自有的屬于教育體系的Web產品(K12相關產品),同時由于Selenium開源且支持多種開發語言,因此從2012年開始團隊將新項目的自動化測試工作逐步轉型到Selenium上,當時使用的開發語言是Java。2014年前后,筆者團隊負責的一個國外視頻項目是基于Python 2開發的,當時團隊嘗試了將Selenium與Python語言進行結合來完成該項目的自動化測試。 這樣團隊應用的自動化測試技術就有兩種:QTP(或UFT)與Selenium。一些項目或產品還在維護與迭代階段,由于使用的是QTP(或UFT),因此延續原有的自動化測試工具與框架;而新的Web項目則選用Selenium,結合的開發語言是Java與Python。 隨著Python語言的快速發展,尤其是Python 3的發布,它被廣泛應用于包括自動化測試在內的各個領域。由于Python語言的學習成本比Java語言低很多,因此筆者所在團隊中的Web自動化測試工作也逐步從Java轉為Python+Selenium為主。 隨著筆者在工作中應用Selenium越來越深入,于是就有了不少的項目經驗和技術積累,在此期間筆者還錄制了大量基于Selenium 2的測試課程(包括Selenium自動化實踐基礎、UnitTest單元測試框架及B/S自動化框架)。 受多位同行和朋友的鼓勵,筆者有了將這些年在自動化測試方面的一些經驗和感悟編寫成書的想法,希望能將這些經驗和感悟分享給想要學習測試技術的人。經過和編輯的溝通,最終確定了選題,并于2019年年初開始動筆。為了加快進度,筆者邀請了夜無雪加入寫作,我們最終于2020年6月完稿。本書基于Selenium 3編寫,為了使得Selenium的各個知識點通俗易懂,筆者針對不同的知識點設計了豐富的實戰案例。希望讀者通過閱讀本書,能夠快速掌握Selenium自動化測試技術。 本書特色 1.視頻教學,高效、直觀 為了幫助讀者更加高效、直觀地學習本書內容,筆者專門為本書錄制了約10小時的基礎操作視頻,相信讀者結合視頻學習,可以達到事半功倍的效果。 2.內容全面、系統 本書全面涵蓋Web自動化測試的相關知識,如自動化測試的前期評估、WebDriver、單元測試、Page Object設計模式、自動化框架的設計與實現等,可以讓讀者通過閱讀一本書即可比較系統地掌握Web自動化測試的核心技術。 3.由淺入深,循序漸進 本書講解時從基礎和原理入手,再輔以典型實例,盡量讓前文的講解作為后文的鋪墊,一步步帶領讀者循序漸進地學習。這樣的章節安排符合讀者的學習和認知規律,學習梯度比較平滑,學習效果更好。 4.原理與實踐相結合 筆者深信,只有通過動手實踐,才能加深對知識的理解,因此書中不僅介紹了自動化測試的相關概念和原理,而且還匹配了相應的測試案例,這樣可以讓讀者學以致用,適應職場的相關要求。 5.案例典型,步驟詳細,代碼翔實 本書注重內容的實操性,主要知識點都配合實例進行講解。書中在講解實例和案例時都給出了詳細的操作步驟和實現代碼,并對關鍵代碼做了詳細的注釋,便于讀者理解。 6.提供教學PPT,方便學習和教學 筆者還為本書制作了教學PPT,可以方便相關院校的老師在教學中使用,也可以方便學生和自學人員梳理本書的知識體系。 本書內容 本書將Python語言與Selenium相結合來實現自動化測試,需要讀者具備Python語言基礎,才能很好地閱讀。Python語言的相關圖書與學習資料很多,本書并沒有設置專門的章節來講解。如果讀者還不具備Python語言基礎,推薦閱讀張頔編著的《Python編程從0到1》一書。這是一本很好的Python程序設計圖書,對于讀者掌握Python程序設計有很大的幫助。 下面簡單地介紹一下本書各章的內容。 第1章介紹為什么要做自動化測試,常見的自動化測試工具有哪些,以及哪些項目適合開展自動化測試等。 第2章介紹Selenium的發展歷程及其學習路線。 第3章介紹Python和Selenium的環境部署。 第4章介紹Selenium集成開發環境與Katalon Studio的相關知識。本章所講內容并不是自動化測試的重點,因為實際測試過程中很少通過集成開發環境來實現自動化,它只是輔助手段,但仍然需要讀者了解這些內容。 第5章介紹如何定位Web頁面中的各類元素,如文本框、按鈕、復選框、圖片、超鏈接和表等。本章內容是Selenium應用基礎,需要讀者很好地掌握。 第6章詳細介紹WebDriver API的相關知識,如表單處理、鼠標處理及等待時間設置等。 第7章詳細介紹單元測試框架的相關知識,涵蓋UnitTest與Pytest兩種單元測試框架。 第8章介紹HTML報告的生成及測試報告郵件的發送。 第9章詳細介紹如何在自動化測試中融入Page Object設計模式。該設計模式是Selenium自動化測試領域公認的較好的設計模式。 第10章介紹自動化測試框架的一些基礎技能的相關知識點,如日志、數據驅動及自動化框架的設計與實現等。 第11章介紹自動化與持續集成(CI)的結合。 第12章介紹如何借助Selenium Grid開展分布式測試。 第13章介紹Selenium與虛擬化(Docker)的結合。 讀者對象 * 有一定Python語言基礎的自動化測試初學者; * 初級和中級測試工程師; * 想提升自動化測試技術的人員; * 高校及職業院校軟件測試專業的學生; * 相關培訓機構的學員。 配書資料獲取 筆者為本書提供了完整的實例源代碼、基礎操作教學視頻及教學PPT等配套學習資料,這些資料需要讀者自行下載。讀者可以在華章公司的網站(www.hzbook.com)上搜索到本書,然后單擊“資料下載”按鈕,即可在本書頁面上找到下載鏈接。 另外,筆者還針對本書內容錄制了一些拓展學習的高階教學視頻,感興趣的讀者可訪問51CTO官網上筆者的課程主頁(https://edu.51cto.com/lecturer/968349.html),然后查找“Selenium 3課程視頻”,或者直接詢問筆者,以獲取視頻課程地址。需要說明的是,高階教學視頻為付費課程。 致謝 筆者自從編寫并出版過一本QTP書籍后已經有多年沒再寫書了,產生了惰性,本次受出版社朋友的鼓勵才開始規劃并編寫這本基于Selenium 3的書籍。在這里要感謝歐振旭編輯!由于種種原因,編寫進度有些緩慢,是他一直在不斷地鼓勵和督促筆者,本書才得以順利完成。另外還要感謝韓立剛老師,他對書稿的編排提供了不少幫助。最后感謝我的家人,是他們的無私付出,才讓筆者能安心寫作,順利完成了書稿的編寫工作。 售后支持 限于筆者的能力,書中可能還存在一些錯漏,懇請廣大讀者批評指正。讀者可以掃描下面的二維碼關注筆者的個人微信,或發送E-mail,反饋書中的疏漏和閱讀時碰到的問題。 李曉鵬 |