Selenium3 + Python3 自動化測試項目實戰:從菜鳥到高手

Selenium3 + Python3 自動化測試項目實戰:從菜鳥到高手

作者: 田春成 李靖
出版社: 電子工業
出版在: 2019-09-01
ISBN-13: 9787121372704
ISBN-10: 7121372703





內容描述


Selenium是目前非常流行的一種自動化測試工具。本書基於Python 3語言講述了最新的Selenium 3的基本理論與操作,涉及各種高級應用,以及如何進行項目實戰,並提供了詳細的自動化平臺部署步驟。本書共14章,分為4篇。第1篇介紹了Selenium概況、相關的基礎知識及環境的搭建步驟;第2篇介紹了Selenium涉及的各種技術,包括前端技術、Selenium元素定位、Selenium常用方法及WebDriver進階應用;第3篇以攜程訂票系統為例,深入探討瞭如何進行項目實戰與優化,詳細介紹了項目重構、數據驅動測試、Page Object設計模式及行為驅動等相關的各種常用技術;第4篇介紹了平臺建設相關的一些實用技術,如平臺搭建維護、項目部署及運用Docker容器技術進行測試等。為了使讀者不但能掌握Selenium自動化測試,而且能夠迅速獲得項目經驗,徹底掌握並靈活運用到實際的測試項目中,本書註重理論與實踐相結合,提供了大量典型的自動化測試實例,按照由淺入深、前後照應的順序來安排內容。如果你是初學者,可以按照本書安排的先後順序來學習,這會讓你對自動化項目能更快上手;如果你是有經驗的高級測試從業人員,可以根據自己的需求閱讀此書,藉此來夯實基礎,獲得更多的項目設計和部署的經驗,以及對項目全局方面的認知。


目錄大綱


第一篇環境篇
第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的發展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環境搭建18
3.1 Windows環境下的安裝19
3.1.1 Python安裝19
3.1.2 Selenium安裝21
3.1.3開發工具IDE安裝24
3.1.4不同瀏覽器環境搭建31
3.2 Mac OS環境下的安裝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數字類型51
5.1.2字符串類型51
5.1.3常用的判斷與循環語句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攜程註冊業務分析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章項目實戰123
8.1項目需求分析匯總123
8.1.1制定項目計劃124
8.1.2制定測試用例125
8.2業務場景覆蓋與分拆126
8.2.1逐個頁面元素分析129
8.2.2分層創建腳本133
8.3項目代碼總結148
第9章代碼優化與項目重構150
9.1項目重構150
9.1.1重構——元素定位方法優化150
9.1.2車次信息選擇優化154
9.1.3重構——代碼分層優化157
9.1.4重構——三層架構160
9.2代碼優化164
9.2.1重構——項目異常處理164
9.2.2重構——智能等待167
第10章數據驅動測試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參數,實現參數與腳本的分離184
10.2.1創建Excel文件,維護測試數據185
10.2.2 Framework Log設置186
10.2.3初步實現數據驅動192
10.3數據驅動框架DDT 198
10.3.1單元測試198
10.3.2數據驅動框架的應用208
10.3 .3利用DDT+Excel實現簡單的重複性測試218
第11章Page Object設計模式222
11.1什麼是PO 222
11.2 PO實戰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項目執行238
第12章行為驅動測試242
12.1環境安裝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獲取當前環境模塊列表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一般方式實現多線程295
14.4.2用可調用類作為參數實例化Thread類296
14.4.3 Thread類派生子類(重寫run方法) 297
14.5本地利用多線程執行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環境下執行多線程測試304


作者介紹


田春成,多年測試開發經驗,長期從事自動化測試框架、分佈式測試平台設計與開發工作。現為某創業公司技術總監。李靖,資深測試開發工程師,十年開發測試經驗。曾在外企SAP從事自動化、性能測試工作。長期從事自動化測試技術選型、技術研究和框架設計相關工作。




相關書籍

Selenium 自動化測試完全指南 -- 基於 Python

作者 趙卓

2019-09-01

Pragmatic Unit Testing in C# with NUnit, 2/e

作者 Andy Hunt Dave Thomas Matt Hargett

2019-09-01

Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design (Paperback)

作者 James A. Whittaker

2019-09-01