Selenium 3+Python 3自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn):從菜鳥到高手
定 價(jià):79 元
- 作者:田春成
- 出版時(shí)間:2019/9/1
- ISBN:9787121372704
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:324
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
Selenium是目前非常流行的一種自動(dòng)化測(cè)試工具。本書基于Python 3語(yǔ)言講述了最新的Selenium 3的基本理論與操作,涉及各種高級(jí)應(yīng)用,以及如何進(jìn)行項(xiàng)目實(shí)戰(zhàn),并提供了詳細(xì)的自動(dòng)化平臺(tái)部署步驟。本書共14章,分為4篇。第1篇介紹了Selenium概況、相關(guān)的基礎(chǔ)知識(shí)及環(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ū)動(dòng)測(cè)試、Page Object設(shè)計(jì)模式及行為驅(qū)動(dòng)等相關(guān)的各種常用技術(shù);第4篇介紹了平臺(tái)建設(shè)相關(guān)的一些實(shí)用技術(shù),如平臺(tái)搭建維護(hù)、項(xiàng)目部署及運(yùn)用Docker容器技術(shù)進(jìn)行測(cè)試等。為了使讀者不但能掌握Selenium自動(dòng)化測(cè)試,而且能夠迅速獲得項(xiàng)目經(jīng)驗(yàn),徹底掌握并靈活運(yùn)用到實(shí)際的測(cè)試項(xiàng)目中,本書注重理論與實(shí)踐相結(jié)合,提供了大量典型的自動(dòng)化測(cè)試實(shí)例,按照由淺入深、前后照應(yīng)的順序來(lái)安排內(nèi)容。如果你是初學(xué)者,可以按照本書安排的先后順序來(lái)學(xué)習(xí),這會(huì)讓你對(duì)自動(dòng)化項(xiàng)目能更快上手;如果你是有經(jīng)驗(yàn)的高級(jí)測(cè)試從業(yè)人員,可以根據(jù)自己的需求閱讀此書,借此來(lái)夯實(shí)基礎(chǔ),獲得更多的項(xiàng)目設(shè)計(jì)和部署的經(jīng)驗(yàn),以及對(duì)項(xiàng)目全局方面的認(rèn)知。
田春成,多年測(cè)試開(kāi)發(fā)經(jīng)驗(yàn),長(zhǎng)期從事自動(dòng)化測(cè)試框架、分布式測(cè)試平臺(tái)設(shè)計(jì)與開(kāi)發(fā)工作,F(xiàn)為某創(chuàng)業(yè)公司技術(shù)總監(jiān)。李靖,資深測(cè)試開(kāi)發(fā)工程師,十年開(kāi)發(fā)測(cè)試經(jīng)驗(yàn)。曾在外企SAP從事自動(dòng)化、性能測(cè)試工作。長(zhǎng)期從事自動(dòng)化測(cè)試技術(shù)選型、技術(shù)研究和框架設(shè)計(jì)相關(guān)工作。
目 錄
第一篇 環(huán)境篇
第1章 自動(dòng)化測(cè)試簡(jiǎn)介 3
1.1 什么是自動(dòng)化測(cè)試 3
1.2 自動(dòng)化測(cè)試的分類 4
1.3 自動(dòng)化測(cè)試項(xiàng)目的適用條件 5
1.4 自動(dòng)化測(cè)試總結(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 通過(guò)實(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 開(kāi)發(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ū)動(dòng) 35
第二篇 基礎(chǔ)篇
第4章 前端技術(shù)簡(jiǎn)介 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ǔ)知識(shí) 50
5.1.1 數(shù)字類型 51
5.1.2 字符串類型 51
5.1.3 常用的判斷與循環(huán)語(yǔ)句 52
5.1.4 集合 54
5.1.5 列表對(duì)象 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操作頁(yè)面元素 88
6.2.4 jQuery操作頁(yè)面元素 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 攜程注冊(cè)業(yè)務(wù)分析 105
7.1.2 滑塊處理思路 106
7.2 項(xiàng)目中的截圖操作 107
7.2.1 頁(yè)面截圖 108
7.2.2 元素截圖 108
7.2.3 驗(yàn)證碼處理思路 109
7.3 Web頁(yè)面多窗口切換 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)目計(jì)劃 124
8.1.2 制定測(cè)試用例 125
8.2 業(yè)務(wù)場(chǎng)景覆蓋與分拆 126
8.2.1 逐個(gè)頁(yè)面元素分析 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ū)動(dòng)測(cè)試 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 通過(guò)Excel參數(shù),實(shí)現(xiàn)參數(shù)與腳本的分離 184
10.2.1 創(chuàng)建Excel文件,維護(hù)測(cè)試數(shù)據(jù) 185
10.2.2 Framework Log設(shè)置 186
10.2.3 初步實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng) 192
10.3 數(shù)據(jù)驅(qū)動(dòng)框架DDT 198
10.3.1 單元測(cè)試 198
10.3.2 數(shù)據(jù)驅(qū)動(dòng)框架的應(yīng)用 208
10.3.3 利用DDT+Excel實(shí)現(xiàn)簡(jiǎn)單的重復(fù)性測(cè)試 218
第11章 Page Object設(shè)計(jì)模式 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ū)動(dòng)測(cè)試 242
12.1 環(huán)境安裝 242
12.2 行為驅(qū)動(dòng)之小試牛刀 243
12.3 基于Selenium的行為驅(qū)動(dòng)測(cè)試 246
12.4 結(jié)合PO的行為驅(qū)動(dòng)測(cè)試 247
第四篇 平臺(tái)篇
第13章 測(cè)試平臺(tái)維護(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自動(dòng)化實(shí)例 281
13.6 項(xiàng)目部署 286
13.6.1 獲取當(dāng)前環(huán)境模塊列表 286
13.6.2 安裝項(xiàng)目移植所需模塊 287
第14章 Docker容器技術(shù)與多線程測(cè)試 288
14.1 Docker簡(jiǎn)介 289
14.2 Docker的一般應(yīng)用場(chǎng)景 291
14.3 Docker的安裝和簡(jiǎn)單測(cè)試 292
14.3.1 Docker的安裝 292
14.3.2 Docker的簡(jiǎn)單測(cè)試 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測(cè)試 298
14.6 利用Docker容器技術(shù)進(jìn)行多線程測(cè)試 300
14.6.1 Selenium Grid介紹 301
14.6.2 安裝需要的鏡像 302
14.6.3 啟動(dòng)Selenium Hub 303
14.6.4 啟動(dòng)Selenium Node 303
14.6.5 查看Selenium Grid Console界面 304
14.6.6 在Docker環(huán)境下執(zhí)行多線程測(cè)試 304