Selenium 3自動化測試實(shí)戰(zhàn) 基于Python語言
定 價(jià):69 元
- 作者:蟲師編著
- 出版時(shí)間:2019/7/1
- ISBN:9787121369247
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:11259
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書共分14章,第1章介紹了自動化測試相關(guān)的基礎(chǔ)知識;第2-10章從環(huán)境搭建,到WebDriverAPI介紹,再到單元測試框架的使用,介紹了自動化測試所用到的知識,最后再通過項(xiàng)目將這些知識串聯(lián)起來;第11章詳細(xì)介紹了如何使用Jenkins配置自動化測試項(xiàng)目;第12-14章介紹了移動自動化測試工具appium的使用。
《Selenium3自動化測試實(shí)戰(zhàn)——基于Python語言》重要知識點(diǎn)總結(jié)如下:
(1) Python3 編程語言基礎(chǔ)精講
(2) 通過20個例子展示W(wǎng)ebDriver API 的使用場景
(3) unittest & pytest 兩大單元測試框架全面介紹
(4) 數(shù)據(jù)驅(qū)動模型在項(xiàng)目中的應(yīng)用
(5) 通過自動化項(xiàng)目串聯(lián)所有知識點(diǎn)
(6) Jenkins持續(xù)集成的安裝與配置
(7) appium 移動測試工具的應(yīng)用
《Selenium2 自動化測試實(shí)戰(zhàn)——基于Python 語言》出版后,我陸續(xù)收到許多反饋,有很多同學(xué)(我習(xí)慣這么稱呼軟件測試的同行)通過這本書學(xué)會了Selenium 自動化測試,這是我寫這本書的初衷,能在你學(xué)習(xí)測試技術(shù)的道路上提供一點(diǎn)點(diǎn)幫助,我感到非常高興!也有同學(xué)向我反饋了書中的一些錯誤,在此深表感謝。
隨著我在自動化測試技術(shù)上的積累,我越發(fā)覺得《Selenium2 自動化測試實(shí)戰(zhàn)——基于Python 語言》一書有許多不足之處,有些內(nèi)容已經(jīng)過時(shí),有些技術(shù)需要更進(jìn)一步的探討。2017 年的時(shí)候我萌生要寫第二版的想法,當(dāng)時(shí)只是想對少部分內(nèi)容進(jìn)行修改,直接到2018年下半年才開始動筆重新整理內(nèi)容。我寫書的方式是一遍遍地修改書中的內(nèi)容,所以,雖然不是從頭到尾寫一本新書,但也花費(fèi)了半年之久。
前面的章節(jié)安排與《Selenium2 自動化測試實(shí)戰(zhàn)——基于Python 語言》一書相比,變化不大,但里面的內(nèi)容都有改動,主要是替換或修改了里面的例子。隨著我對自動化測試的理解,更正了前一本書中的部分觀點(diǎn)。
(1)加入了pytest 單元測試框架的使用方法,與unittest 相比,pytest 的功能更加強(qiáng)大,而且還有豐富的擴(kuò)展庫,更適合用來做自動化測試。
(2)補(bǔ)充了Jenkins 的使用方法。
(3)增加了3 章appium 移動自動化測試工具的介紹。隨著移動互聯(lián)網(wǎng)的發(fā)展,移動自動化測試幾乎成為測試人員必備技能之一,appium 正是在Selenium 的基礎(chǔ)上擴(kuò)展而來的自動化工具。
當(dāng)然,在上一本的基礎(chǔ)上,本書也刪減了部分內(nèi)容。
(1)刪掉了Selenium IDE 相關(guān)的內(nèi)容,越來越多的測試人員使用WebDriver 編寫自動化腳本,Selenium IDE 作為瀏覽器的自動化插件,已經(jīng)很少有同學(xué)單獨(dú)使用它完成大型自動化項(xiàng)目了。
(2)刪掉了Python 多線程相關(guān)的內(nèi)容。多線程的優(yōu)點(diǎn)是可以提高自動化測試的執(zhí)行速度,缺點(diǎn)是降低了自動化的穩(wěn)定性。本書介紹了減少測試用例執(zhí)行時(shí)間的其他方法。
(3)刪掉了BDD 行為驅(qū)動開發(fā)相關(guān)的內(nèi)容,本書更聚焦于自動化測試技術(shù),所以,其他技術(shù)請參考專業(yè)的書進(jìn)行學(xué)習(xí)。
本書在命名時(shí)也頗為糾結(jié),本書的內(nèi)容屬于《Selenium2 自動化測試實(shí)戰(zhàn)——基于Python 語言》升級版,如果命名為《Selenium2 自動化測試實(shí)戰(zhàn)——基于Python 語言(第二版)》可以看出這種繼承關(guān)系,但是書中內(nèi)容是基于Selenium3 編寫的,所以最終命名為《Selenium3 自動化測試實(shí)戰(zhàn)——基于Python 語言》。
在本書出版之際,Selenium4 已在開發(fā)當(dāng)中,從Selenium 官方給出的消息來看,Selenium4 對于本書的內(nèi)容影響很小。
最后,由于作者水平有限,書中難免有錯誤之處,希望你能將錯誤反饋給我,我將感激不盡。感謝編輯安娜,沒有她的幫助本書無法出版。感謝讀者的厚愛,正是你們的鼓勵
和支持,才使我有動力完成本書。
蟲師
2019 年6 月
蟲師,2011年6月開始在博客園持續(xù)分享測試技術(shù)和經(jīng)驗(yàn),在自動化測試、性能測試方面有著豐富實(shí)戰(zhàn)經(jīng)驗(yàn),另外,對Web開發(fā)技術(shù)也有一定的積累。前后擔(dān)任高級測試工程師、測試開發(fā)工程師,以及測試Leader等職位。
第1 章 自動化測試基礎(chǔ) . 1
1.1 分層的自動化測試 1
1.2 適合自動化測試的項(xiàng)目 3
1.3 如何學(xué)習(xí)UI 自動化測試 4
1.4 Selenium 簡介 4
1.5 appium 簡介 . 8
第2 章 測試環(huán)境搭建 10
2.1 安裝Python 10
2.2 安裝Selenium 12
2.3 第一個Selenium 自動化測試腳本 . 12
2.4 瀏覽器驅(qū)動 13
第3 章 Python 基礎(chǔ) . 16
3.1 Python 哲學(xué) 16
3.2 輸出 18
3.3 分支與循環(huán) 20
3.4 列表、元組與字典 22
3.5 函數(shù)、類和方法 25
3.6 模組 27
3.7 異常 34
3.8 新手常犯的錯誤 38
第4 章 WebDriver API 40
4.1 從定位元素開始 40
4.2 控制瀏覽器 52
4.3 WebDriver 中的常用方法 53
4.4 鼠標(biāo)操作 55
4.5 鍵盤操作 57
4.6 獲得驗(yàn)證信息 58
4.7 設(shè)置元素等待 59
4.8 定位一組元素 63
4.9 多表單切換 64
4.10 多窗口切換 65
4.11 警告框處理 67
4.12 下拉框處理 69
4.13 上傳文件 70
4.14 下載文件 72
4.15 操作Cookie 74
4.16 調(diào)用JavaScript . 75
4.17 處理HTML5 視頻播放 . 77
4.18 滑動解鎖 79
4.19 窗口截圖 82
4.20 關(guān)閉窗口 83
第5 章 自動化測試模型 . 84
5.1 基本概念 84
5.2 自動化測試模型 85
5.3 模塊化與參數(shù)化 86
5.4 讀取數(shù)據(jù)文件 89
第6 章 unittest 單元測試框架 96
6.1 認(rèn)識unittest 97
6.2 關(guān)于unittest 還需要知道的 . 108
6.2.1 測試用例的執(zhí)行順序 108
6.2.2 執(zhí)行多級目錄的測試用例 110
6.2.3 跳過測試和預(yù)期失敗 111
6.2.4 Fixtures . 113
6.3 編寫Web 自動化測試 . 114
第7 章 unittest 擴(kuò)展 . 118
7.1 HTML 測試報(bào)告 118
7.2 數(shù)據(jù)驅(qū)動應(yīng)用 124
7.3 自動發(fā)送郵件功能 134
第8 章 Page Object 140
8.1 認(rèn)識Page Object 140
8.2 實(shí)現(xiàn)Paget Object . 141
8.2.1 Paget Object 簡單實(shí)例 . 142
8.2.2 改進(jìn)Paget Object 封裝 143
8.3 poium 測試庫 . 146
第9 章 pytest 單元測試框架 150
9.1 pytest 簡單例子 150
9.2 pytest 的基本使用方法 152
9.3 pytest 擴(kuò)展 163
9.4 構(gòu)建Web 自動化測試項(xiàng)目 . 166
9.4.1 項(xiàng)目結(jié)構(gòu)介紹 166
9.4.2 主要代碼實(shí)現(xiàn) 168
9.4.3 測試用例的運(yùn)行與測試報(bào)告 173
第10 章 Selenium Grid . 176
10.1 Selenium Grid 介紹 . 176
10.1.1 Selenium Server 環(huán)境配置 . 176
10.1.2 Selenium Grid 工作原理 178
10.2 Selenium Grid 應(yīng)用 180
第11 章 Jenkins 持續(xù)集成 . 187
11.1 下載Tomcat 188
11.2 下載Jenkins . 189
11.3 安裝配置Jenkins . 190
11.4 Jenkins 的基本使用 192
11.5 Selenium 自動化項(xiàng)目配置 197
第12 章 appium 的介紹與安裝 210
12.1 appium 介紹 . 210
12.2 appium 環(huán)境搭建 . 215
12.2.1 Android Studio . 216
12.2.2 Android 模擬器 219
12.2.3 appium Desktop 222
12.2.4 Python Client 223
12.2.5 第一個appium 測試 223
第13 章 appium 基礎(chǔ) 226
13.1 Desired Capabilities 226
13.2 控件定位 228
13.3 appium 的常用API 235
13.4 appium Desktop 243
13.4.1 準(zhǔn)備工作 243
13.4.2 控件定位 245
13.4.3 腳本錄制 246
第14 章 appium 測試實(shí)例 . 249
14.1 appium 應(yīng)用測試 . 249
14.1.1 原生應(yīng)用測試 249
14.1.2 移動Web 應(yīng)用測試 . 250
14.1.3 混合應(yīng)用測試 252
14.2 App 測試實(shí)戰(zhàn) 254