Selenium 3+Python 3自動化測試項(xiàng)目實(shí)戰(zhàn):從菜鳥到高手
定 價:79 元
- 作者:田春成
- 出版時間:2019/9/1
- ISBN:9787121372704
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:324
- 紙張:
- 版次:01
- 開本:16開
Selenium是目前非常流行的一種自動化測試工具。本書基于Python 3語言講述了最新的Selenium 3的基本理論與操作,涉及各種高級應(yīng)用,以及如何進(jìn)行項(xiàng)目實(shí)戰(zhàn),并提供了詳細(xì)的自動化平臺部署步驟。本書共14章,分為4篇。第1篇介紹了Selenium概況、相關(guān)的基礎(chǔ)知識及環(huán)境的搭建步驟;第2篇介紹了Selenium涉及的各種技術(shù),包括前端技術(shù)、Selenium元素定位、Selenium常用方法及WebDriver進(jìn)階應(yīng)用;第3篇以攜程訂票系統(tǒng)為例,深入探討了如何進(jìn)行項(xiàng)目實(shí)戰(zhàn)與優(yōu)化,詳細(xì)介紹了項(xiàng)目重構(gòu)、數(shù)據(jù)驅(qū)動測試、Page Object設(shè)計模式及行為驅(qū)動等相關(guān)的各種常用技術(shù);第4篇介紹了平臺建設(shè)相關(guān)的一些實(shí)用技術(shù),如平臺搭建維護(hù)、項(xiàng)目部署及運(yùn)用Docker容器技術(shù)進(jìn)行測試等。為了使讀者不但能掌握Selenium自動化測試,而且能夠迅速獲得項(xiàng)目經(jīng)驗(yàn),徹底掌握并靈活運(yùn)用到實(shí)際的測試項(xiàng)目中,本書注重理論與實(shí)踐相結(jié)合,提供了大量典型的自動化測試實(shí)例,按照由淺入深、前后照應(yīng)的順序來安排內(nèi)容。如果你是初學(xué)者,可以按照本書安排的先后順序來學(xué)習(xí),這會讓你對自動化項(xiàng)目能更快上手;如果你是有經(jīng)驗(yàn)的高級測試從業(yè)人員,可以根據(jù)自己的需求閱讀此書,借此來夯實(shí)基礎(chǔ),獲得更多的項(xiàng)目設(shè)計和部署的經(jīng)驗(yàn),以及對項(xiàng)目全局方面的認(rèn)知。
田春成,多年測試開發(fā)經(jīng)驗(yàn),長期從事自動化測試框架、分布式測試平臺設(shè)計與開發(fā)工作,F(xiàn)為某創(chuàng)業(yè)公司技術(shù)總監(jiān)。李靖,資深測試開發(fā)工程師,十年開發(fā)測試經(jīng)驗(yàn)。曾在外企SAP從事自動化、性能測試工作。長期從事自動化測試技術(shù)選型、技術(shù)研究和框架設(shè)計相關(guān)工作。
目 錄
第一篇 環(huán)境篇
第1章 自動化測試簡介 3
1.1 什么是自動化測試 3
1.2 自動化測試的分類 4
1.3 自動化測試項(xiàng)目的適用條件 5
1.4 自動化測試總結(jié) 5
1.5 為什么選擇Selenium 6
1.5.1 Selenium的特性 6
1.5.2 Selenium的發(fā)展 7
第2章 Selenium IDE的使用 9
2.1 Selenium IDE介紹 9
2.1.1 Selenium IDE的安裝步驟 10
2.1.2 Selenium IDE的功能界面與工具欄介紹 11
2.1.3 Selenium IDE腳本介紹 12
2.1.4 waitforText、assertText和verifyText命令講解 14
2.1.5 通過實(shí)例講解storeTitle命令和echo命令 15
2.2 從Selenium IDE導(dǎo)出腳本 15
第3章 Python與Selenium環(huán)境搭建 18
3.1 Windows環(huán)境下的安裝 19
3.1.1 Python安裝 19
3.1.2 Selenium安裝 21
3.1.3 開發(fā)工具IDE安裝 24
3.1.4 不同瀏覽器環(huán)境搭建 31
3.2 Mac OS環(huán)境下的安裝 32
3.2.1 Python安裝 33
3.2.2 Selenium安裝 34
3.2.3 瀏覽器的驅(qū)動 35
第二篇 基礎(chǔ)篇
第4章 前端技術(shù)簡介 39
4.1 HTML 39
4.1.1 HTML元素 40
4.1.2 HTML表單 46
4.2 CSS 47
4.3 JavaScript 48
第5章 Selenium元素定位 50
5.1 Python基礎(chǔ)知識 50
5.1.1 數(shù)字類型 51
5.1.2 字符串類型 51
5.1.3 常用的判斷與循環(huán)語句 52
5.1.4 集合 54
5.1.5 列表對象 57
5.2 Selenium八大定位 66
5.2.1 id定位 66
5.2.2 name定位 67
5.2.3 class定位 68
5.2.4 link_text定位 69
5.2.5 partial_link_text定位 70
5.2.6 CSS定位 70
5.2.7 XPath定位 73
5.2.8 tag_name定位 75
第6章 Selenium常用方法 77
6.1 基本方法 77
6.2 特殊元素定位 82
6.2.1 鼠標(biāo)懸停操作 82
6.2.2 Select操作 83
6.2.3 利用JavaScript操作頁面元素 88
6.2.4 jQuery操作頁面元素 90
6.2.5 常用的鼠標(biāo)事件 92
6.2.6 常用的鍵盤事件 93
6.3 Frame操作 94
6.4 上傳附件操作 96
6.4.1 上傳附件操作方式一 97
6.4.2 上傳附件操作方式二 97
6.4.3 上傳附件操作方式三 100
6.5 Cookie操作 100
6.6 Selenium幫助文檔 102
第7章 Selenium WebDriver進(jìn)階應(yīng)用 104
7.1 滑塊操作 104
7.1.1 攜程注冊業(yè)務(wù)分析 105
7.1.2 滑塊處理思路 106
7.2 項(xiàng)目中的截圖操作 107
7.2.1 頁面截圖 108
7.2.2 元素截圖 108
7.2.3 驗(yàn)證碼處理思路 109
7.3 Web頁面多窗口切換 117
7.4 元素模糊定位 118
7.5 復(fù)合定位 120
第三篇 項(xiàng)目篇
第8章 項(xiàng)目實(shí)戰(zhàn) 123
8.1 項(xiàng)目需求分析匯總 123
8.1.1 制定項(xiàng)目計劃 124
8.1.2 制定測試用例 125
8.2 業(yè)務(wù)場景覆蓋與分拆 126
8.2.1 逐個頁面元素分析 129
8.2.2 分層創(chuàng)建腳本 133
8.3 項(xiàng)目代碼總結(jié) 148
第9章 代碼優(yōu)化與項(xiàng)目重構(gòu) 150
9.1 項(xiàng)目重構(gòu) 150
9.1.1 重構(gòu)——元素定位方法優(yōu)化 150
9.1.2 車次信息選擇優(yōu)化 154
9.1.3 重構(gòu)——代碼分層優(yōu)化 157
9.1.4 重構(gòu)——三層架構(gòu) 160
9.2 代碼優(yōu)化 164
9.2.1 重構(gòu)——項(xiàng)目異常處理 164
9.2.2 重構(gòu)——智能等待 167
第10章 數(shù)據(jù)驅(qū)動測試 168
10.1 一般文件操作 169
10.1.1 文本文件 169
10.1.2 CSV文件 171
10.1.3 Excel文件 173
10.1.4 JSON文件操作 176
10.1.5 XML文件操作 179
10.1.6 YAML文件操作 181
10.1.7 文件夾操作 184
10.2 通過Excel參數(shù),實(shí)現(xiàn)參數(shù)與腳本的分離 184
10.2.1 創(chuàng)建Excel文件,維護(hù)測試數(shù)據(jù) 185
10.2.2 Framework Log設(shè)置 186
10.2.3 初步實(shí)現(xiàn)數(shù)據(jù)驅(qū)動 192
10.3 數(shù)據(jù)驅(qū)動框架DDT 198
10.3.1 單元測試 198
10.3.2 數(shù)據(jù)驅(qū)動框架的應(yīng)用 208
10.3.3 利用DDT+Excel實(shí)現(xiàn)簡單的重復(fù)性測試 218
第11章 Page Object設(shè)計模式 222
11.1 什么是PO 222
11.2 PO實(shí)戰(zhàn) 223
11.2.1 Common層代碼分析 224
11.2.2 Base層代碼分析 228
11.2.3 PageObject層代碼分析 230
11.2.4 TestCases層代碼分析 236
11.2.5 Data層分析 237
11.2.6 Logs層分析 237
11.2.7 Reports層分析 238
11.2.8 其他分析 238
11.2.9 PO項(xiàng)目執(zhí)行 238
第12章 行為驅(qū)動測試 242
12.1 環(huán)境安裝 242
12.2 行為驅(qū)動之小試牛刀 243
12.3 基于Selenium的行為驅(qū)動測試 246
12.4 結(jié)合PO的行為驅(qū)動測試 247
第四篇 平臺篇
第13章 測試平臺維護(hù)與項(xiàng)目部署 253
13.1 Git應(yīng)用 253
13.1.1 Git安裝 254
13.1.2 Git常用操作 257
13.1.3 GitHub運(yùn)用 259
13.2 Jenkins安裝 263
13.3 配置Jenkins 268
13.4 Jenkins應(yīng)用 273
13.4.1 自由風(fēng)格項(xiàng)目介紹 273
13.4.2 Jenkins Pipeline 277
13.5 完整的Jenkins自動化實(shí)例 281
13.6 項(xiàng)目部署 286
13.6.1 獲取當(dāng)前環(huán)境模塊列表 286
13.6.2 安裝項(xiàng)目移植所需模塊 287
第14章 Docker容器技術(shù)與多線程測試 288
14.1 Docker簡介 289
14.2 Docker的一般應(yīng)用場景 291
14.3 Docker的安裝和簡單測試 292
14.3.1 Docker的安裝 292
14.3.2 Docker的簡單測試 294
14.4 Python多線程介紹 295
14.4.1 一般方式實(shí)現(xiàn)多線程 295
14.4.2 用可調(diào)用類作為參數(shù)實(shí)例化Thread類 296
14.4.3 Thread類派生子類(重寫run方法) 297
14.5 本地利用多線程執(zhí)行Selenium測試 298
14.6 利用Docker容器技術(shù)進(jìn)行多線程測試 300
14.6.1 Selenium Grid介紹 301
14.6.2 安裝需要的鏡像 302
14.6.3 啟動Selenium Hub 303
14.6.4 啟動Selenium Node 303
14.6.5 查看Selenium Grid Console界面 304
14.6.6 在Docker環(huán)境下執(zhí)行多線程測試 304