Selenium 3自動(dòng)化測(cè)試實(shí)戰(zhàn) 基于Python語言
定 價(jià):69 元
當(dāng)前圖書已被 18 所學(xué)校薦購過!
查看明細(xì)
- 作者:蟲師編著
- 出版時(shí)間:2019/7/1
- ISBN:9787121369247
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:11259
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書共分14章,第1章介紹了自動(dòng)化測(cè)試相關(guān)的基礎(chǔ)知識(shí);第2-10章從環(huán)境搭建,到WebDriverAPI介紹,再到單元測(cè)試框架的使用,介紹了自動(dòng)化測(cè)試所用到的知識(shí),最后再通過項(xiàng)目將這些知識(shí)串聯(lián)起來;第11章詳細(xì)介紹了如何使用Jenkins配置自動(dòng)化測(cè)試項(xiàng)目;第12-14章介紹了移動(dòng)自動(dòng)化測(cè)試工具appium的使用。
《Selenium3自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python語言》重要知識(shí)點(diǎn)總結(jié)如下:
(1) Python3 編程語言基礎(chǔ)精講
(2) 通過20個(gè)例子展示W(wǎng)ebDriver API 的使用場(chǎng)景
(3) unittest & pytest 兩大單元測(cè)試框架全面介紹
(4) 數(shù)據(jù)驅(qū)動(dòng)模型在項(xiàng)目中的應(yīng)用
(5) 通過自動(dòng)化項(xiàng)目串聯(lián)所有知識(shí)點(diǎn)
(6) Jenkins持續(xù)集成的安裝與配置
(7) appium 移動(dòng)測(cè)試工具的應(yīng)用
《Selenium2 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言》出版后,我陸續(xù)收到許多反饋,有很多同學(xué)(我習(xí)慣這么稱呼軟件測(cè)試的同行)通過這本書學(xué)會(huì)了Selenium 自動(dòng)化測(cè)試,這是我寫這本書的初衷,能在你學(xué)習(xí)測(cè)試技術(shù)的道路上提供一點(diǎn)點(diǎn)幫助,我感到非常高興!也有同學(xué)向我反饋了書中的一些錯(cuò)誤,在此深表感謝。
隨著我在自動(dòng)化測(cè)試技術(shù)上的積累,我越發(fā)覺得《Selenium2 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言》一書有許多不足之處,有些內(nèi)容已經(jīng)過時(shí),有些技術(shù)需要更進(jìn)一步的探討。2017 年的時(shí)候我萌生要寫第二版的想法,當(dāng)時(shí)只是想對(duì)少部分內(nèi)容進(jìn)行修改,直接到2018年下半年才開始動(dòng)筆重新整理內(nèi)容。我寫書的方式是一遍遍地修改書中的內(nèi)容,所以,雖然不是從頭到尾寫一本新書,但也花費(fèi)了半年之久。
前面的章節(jié)安排與《Selenium2 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言》一書相比,變化不大,但里面的內(nèi)容都有改動(dòng),主要是替換或修改了里面的例子。隨著我對(duì)自動(dòng)化測(cè)試的理解,更正了前一本書中的部分觀點(diǎn)。
(1)加入了pytest 單元測(cè)試框架的使用方法,與unittest 相比,pytest 的功能更加強(qiáng)大,而且還有豐富的擴(kuò)展庫,更適合用來做自動(dòng)化測(cè)試。
(2)補(bǔ)充了Jenkins 的使用方法。
(3)增加了3 章appium 移動(dòng)自動(dòng)化測(cè)試工具的介紹。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)自動(dòng)化測(cè)試幾乎成為測(cè)試人員必備技能之一,appium 正是在Selenium 的基礎(chǔ)上擴(kuò)展而來的自動(dòng)化工具。
當(dāng)然,在上一本的基礎(chǔ)上,本書也刪減了部分內(nèi)容。
(1)刪掉了Selenium IDE 相關(guān)的內(nèi)容,越來越多的測(cè)試人員使用WebDriver 編寫自動(dòng)化腳本,Selenium IDE 作為瀏覽器的自動(dòng)化插件,已經(jīng)很少有同學(xué)單獨(dú)使用它完成大型自動(dòng)化項(xiàng)目了。
(2)刪掉了Python 多線程相關(guān)的內(nèi)容。多線程的優(yōu)點(diǎn)是可以提高自動(dòng)化測(cè)試的執(zhí)行速度,缺點(diǎn)是降低了自動(dòng)化的穩(wěn)定性。本書介紹了減少測(cè)試用例執(zhí)行時(shí)間的其他方法。
(3)刪掉了BDD 行為驅(qū)動(dòng)開發(fā)相關(guān)的內(nèi)容,本書更聚焦于自動(dòng)化測(cè)試技術(shù),所以,其他技術(shù)請(qǐng)參考專業(yè)的書進(jìn)行學(xué)習(xí)。
本書在命名時(shí)也頗為糾結(jié),本書的內(nèi)容屬于《Selenium2 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言》升級(jí)版,如果命名為《Selenium2 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言(第二版)》可以看出這種繼承關(guān)系,但是書中內(nèi)容是基于Selenium3 編寫的,所以最終命名為《Selenium3 自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python 語言》。
在本書出版之際,Selenium4 已在開發(fā)當(dāng)中,從Selenium 官方給出的消息來看,Selenium4 對(duì)于本書的內(nèi)容影響很小。
最后,由于作者水平有限,書中難免有錯(cuò)誤之處,希望你能將錯(cuò)誤反饋給我,我將感激不盡。感謝編輯安娜,沒有她的幫助本書無法出版。感謝讀者的厚愛,正是你們的鼓勵(lì)
和支持,才使我有動(dòng)力完成本書。
蟲師
2019 年6 月
蟲師,2011年6月開始在博客園持續(xù)分享測(cè)試技術(shù)和經(jīng)驗(yàn),在自動(dòng)化測(cè)試、性能測(cè)試方面有著豐富實(shí)戰(zhàn)經(jīng)驗(yàn),另外,對(duì)Web開發(fā)技術(shù)也有一定的積累。前后擔(dān)任高級(jí)測(cè)試工程師、測(cè)試開發(fā)工程師,以及測(cè)試Leader等職位。
第1 章 自動(dòng)化測(cè)試基礎(chǔ) . 1
1.1 分層的自動(dòng)化測(cè)試 1
1.2 適合自動(dòng)化測(cè)試的項(xiàng)目 3
1.3 如何學(xué)習(xí)UI 自動(dòng)化測(cè)試 4
1.4 Selenium 簡(jiǎn)介 4
1.5 appium 簡(jiǎn)介 . 8
第2 章 測(cè)試環(huán)境搭建 10
2.1 安裝Python 10
2.2 安裝Selenium 12
2.3 第一個(gè)Selenium 自動(dòng)化測(cè)試腳本 . 12
2.4 瀏覽器驅(qū)動(dòng) 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 新手常犯的錯(cuò)誤 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 滑動(dòng)解鎖 79
4.19 窗口截圖 82
4.20 關(guān)閉窗口 83
第5 章 自動(dòng)化測(cè)試模型 . 84
5.1 基本概念 84
5.2 自動(dòng)化測(cè)試模型 85
5.3 模塊化與參數(shù)化 86
5.4 讀取數(shù)據(jù)文件 89
第6 章 unittest 單元測(cè)試框架 96
6.1 認(rèn)識(shí)unittest 97
6.2 關(guān)于unittest 還需要知道的 . 108
6.2.1 測(cè)試用例的執(zhí)行順序 108
6.2.2 執(zhí)行多級(jí)目錄的測(cè)試用例 110
6.2.3 跳過測(cè)試和預(yù)期失敗 111
6.2.4 Fixtures . 113
6.3 編寫Web 自動(dòng)化測(cè)試 . 114
第7 章 unittest 擴(kuò)展 . 118
7.1 HTML 測(cè)試報(bào)告 118
7.2 數(shù)據(jù)驅(qū)動(dòng)應(yīng)用 124
7.3 自動(dòng)發(fā)送郵件功能 134
第8 章 Page Object 140
8.1 認(rèn)識(shí)Page Object 140
8.2 實(shí)現(xiàn)Paget Object . 141
8.2.1 Paget Object 簡(jiǎn)單實(shí)例 . 142
8.2.2 改進(jìn)Paget Object 封裝 143
8.3 poium 測(cè)試庫 . 146
第9 章 pytest 單元測(cè)試框架 150
9.1 pytest 簡(jiǎn)單例子 150
9.2 pytest 的基本使用方法 152
9.3 pytest 擴(kuò)展 163
9.4 構(gòu)建Web 自動(dòng)化測(cè)試項(xiàng)目 . 166
9.4.1 項(xiàng)目結(jié)構(gòu)介紹 166
9.4.2 主要代碼實(shí)現(xiàn) 168
9.4.3 測(cè)試用例的運(yùn)行與測(cè)試報(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 自動(dòng)化項(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 第一個(gè)appium 測(cè)試 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 測(cè)試實(shí)例 . 249
14.1 appium 應(yīng)用測(cè)試 . 249
14.1.1 原生應(yīng)用測(cè)試 249
14.1.2 移動(dòng)Web 應(yīng)用測(cè)試 . 250
14.1.3 混合應(yīng)用測(cè)試 252
14.2 App 測(cè)試實(shí)戰(zhàn) 254