Selenium 3+Python 3自動化測試項目實戰(zhàn):從菜鳥到高手
定 價:79 元
- 作者:田春成
- 出版時間:2019/9/1
- ISBN:9787121372704
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:324
- 紙張:
- 版次:01
- 開本:16開
Selenium是目前非常流行的一種自動化測試工具。本書基于Python 3語言講述了最新的Selenium 3的基本理論與操作,涉及各種高級應用,以及如何進行項目實戰(zhàn),并提供了詳細的自動化平臺部署步驟。本書共14章,分為4篇。第1篇介紹了Selenium概況、相關的基礎知識及環(huán)境的搭建步驟;第2篇介紹了Selenium涉及的各種技術,包括前端技術、Selenium元素定位、Selenium常用方法及WebDriver進階應用;第3篇以攜程訂票系統(tǒng)為例,深入探討了如何進行項目實戰(zhàn)與優(yōu)化,詳細介紹了項目重構、數(shù)據(jù)驅動測試、Page Object設計模式及行為驅動等相關的各種常用技術;第4篇介紹了平臺建設相關的一些實用技術,如平臺搭建維護、項目部署及運用Docker容器技術進行測試等。為了使讀者不但能掌握Selenium自動化測試,而且能夠迅速獲得項目經(jīng)驗,徹底掌握并靈活運用到實際的測試項目中,本書注重理論與實踐相結合,提供了大量典型的自動化測試實例,按照由淺入深、前后照應的順序來安排內容。如果你是初學者,可以按照本書安排的先后順序來學習,這會讓你對自動化項目能更快上手;如果你是有經(jīng)驗的高級測試從業(yè)人員,可以根據(jù)自己的需求閱讀此書,借此來夯實基礎,獲得更多的項目設計和部署的經(jīng)驗,以及對項目全局方面的認知。
田春成,多年測試開發(fā)經(jīng)驗,長期從事自動化測試框架、分布式測試平臺設計與開發(fā)工作,F(xiàn)為某創(chuàng)業(yè)公司技術總監(jiān)。李靖,資深測試開發(fā)工程師,十年開發(fā)測試經(jīng)驗。曾在外企SAP從事自動化、性能測試工作。長期從事自動化測試技術選型、技術研究和框架設計相關工作。
目 錄
第一篇 環(huán)境篇
第1章 自動化測試簡介 3
1.1 什么是自動化測試 3
1.2 自動化測試的分類 4
1.3 自動化測試項目的適用條件 5
1.4 自動化測試總結 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 通過實例講解storeTitle命令和echo命令 15
2.2 從Selenium IDE導出腳本 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 瀏覽器的驅動 35
第二篇 基礎篇
第4章 前端技術簡介 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基礎知識 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 鼠標懸停操作 82
6.2.2 Select操作 83
6.2.3 利用JavaScript操作頁面元素 88
6.2.4 jQuery操作頁面元素 90
6.2.5 常用的鼠標事件 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進階應用 104
7.1 滑塊操作 104
7.1.1 攜程注冊業(yè)務分析 105
7.1.2 滑塊處理思路 106
7.2 項目中的截圖操作 107
7.2.1 頁面截圖 108
7.2.2 元素截圖 108
7.2.3 驗證碼處理思路 109
7.3 Web頁面多窗口切換 117
7.4 元素模糊定位 118
7.5 復合定位 120
第三篇 項目篇
第8章 項目實戰(zhàn) 123
8.1 項目需求分析匯總 123
8.1.1 制定項目計劃 124
8.1.2 制定測試用例 125
8.2 業(yè)務場景覆蓋與分拆 126
8.2.1 逐個頁面元素分析 129
8.2.2 分層創(chuàng)建腳本 133
8.3 項目代碼總結 148
第9章 代碼優(yōu)化與項目重構 150
9.1 項目重構 150
9.1.1 重構——元素定位方法優(yōu)化 150
9.1.2 車次信息選擇優(yōu)化 154
9.1.3 重構——代碼分層優(yōu)化 157
9.1.4 重構——三層架構 160
9.2 代碼優(yōu)化 164
9.2.1 重構——項目異常處理 164
9.2.2 重構——智能等待 167
第10章 數(shù)據(jù)驅動測試 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ù),實現(xiàn)參數(shù)與腳本的分離 184
10.2.1 創(chuàng)建Excel文件,維護測試數(shù)據(jù) 185
10.2.2 Framework Log設置 186
10.2.3 初步實現(xiàn)數(shù)據(jù)驅動 192
10.3 數(shù)據(jù)驅動框架DDT 198
10.3.1 單元測試 198
10.3.2 數(shù)據(jù)驅動框架的應用 208
10.3.3 利用DDT+Excel實現(xiàn)簡單的重復性測試 218
第11章 Page Object設計模式 222
11.1 什么是PO 222
11.2 PO實戰(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項目執(zhí)行 238
第12章 行為驅動測試 242
12.1 環(huán)境安裝 242
12.2 行為驅動之小試牛刀 243
12.3 基于Selenium的行為驅動測試 246
12.4 結合PO的行為驅動測試 247
第四篇 平臺篇
第13章 測試平臺維護與項目部署 253
13.1 Git應用 253
13.1.1 Git安裝 254
13.1.2 Git常用操作 257
13.1.3 GitHub運用 259
13.2 Jenkins安裝 263
13.3 配置Jenkins 268
13.4 Jenkins應用 273
13.4.1 自由風格項目介紹 273
13.4.2 Jenkins Pipeline 277
13.5 完整的Jenkins自動化實例 281
13.6 項目部署 286
13.6.1 獲取當前環(huán)境模塊列表 286
13.6.2 安裝項目移植所需模塊 287
第14章 Docker容器技術與多線程測試 288
14.1 Docker簡介 289
14.2 Docker的一般應用場景 291
14.3 Docker的安裝和簡單測試 292
14.3.1 Docker的安裝 292
14.3.2 Docker的簡單測試 294
14.4 Python多線程介紹 295
14.4.1 一般方式實現(xiàn)多線程 295
14.4.2 用可調用類作為參數(shù)實例化Thread類 296
14.4.3 Thread類派生子類(重寫run方法) 297
14.5 本地利用多線程執(zhí)行Selenium測試 298
14.6 利用Docker容器技術進行多線程測試 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