Web自動化測試與Selenium 3.0從入門到實踐
定 價:79 元
- 作者:郎瓏融
- 出版時間:2020/8/1
- ISBN:9787111661535
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:0
- 紙張:
- 版次:
- 開本:16開
本書由淺入深,結合大量實際案例,重點講解Selenium WebDriver在企業(yè)中的應用與實踐。
本書分為三部分:第壹部分為基礎篇(第1、2章)主要講解自動化基礎理論、常用開發(fā)工具、安裝及環(huán)境搭建;第二部分為入門篇(第3~8章),主要講解企業(yè)常用技術Maven、Git的使用,并以豐富的實戰(zhàn)案例講解WebDriver的入門實例、頁面的元素定位方法及常用API的使用方法;第三部分為進階篇(第9~14章),主要講解數據驅動測試、PageObject設計模式、自動化測試框架的搭建與持續(xù)集成、行為驅動測試框架的使用及分布式并行測試的使用。
推薦序(一)
推薦序(二)
前言
第1章 自動化測試基礎準備1
1.1 自動化測試的概念1
1.2 手工測試與自動化測試的區(qū)別1
1.2.1 手工測試與自動化測試并不對立1
1.2.2 手工測試的特點2
1.2.3 自動化測試的特點2
1.2.4 自動化測試與手工測試的關系2
1.3 自動化測試中常見的誤區(qū)2
1.3.1 誤區(qū)一:自動化測試就是用工具錄制和回放3
1.3.2 誤區(qū)二:自動化測試能發(fā)現(xiàn)新Bug3
1.3.3 誤區(qū)三:會自動化測試就是測試開發(fā)工程師了3
1.3.4 誤區(qū)四:有了自動化測試就什么都不用做了3
1.4 分層自動化測試思想4
1.4.1 單元測試自動化4
1.4.2 接口測試自動化5
1.4.3 Web測試自動化5
1.5 自動化測試流程5
1.5.1 對被測系統(tǒng)進行調研6
1.5.2 確定使用的開發(fā)語言6
1.5.3 選擇自動化測試項目6
1.5.4 申請自動化測試資源6
1.5.5 自動化測試用例篩選7
1.5.6 編寫自動化測試方案7
1.5.7 自動化測試框架和腳本開發(fā)7
1.5.8 框架演示7
1.5.9 進入腳本開發(fā)階段7
1.5.10 腳本執(zhí)行階段8
1.5.11 成果驗收8
1.6 編寫自動化測試用例8
1.6.1 自動化用例選擇原則8
1.6.2 編寫自動化用例原則8
1.6.3 編寫自動化測試腳本原則9
1.7 什么樣的項目適合自動化測試9
1.7.1 不適合自動化測試的情況9
1.7.2 適合自動化測試的情況9
1.8 Selenium的優(yōu)勢以及工作原理10
1.8.1 支持的語言、平臺、瀏覽器10
1.8.2 Selenium的配套工具10
1.8.3 Selenium與QTP的比較10
1.8.4 Selenium的工作原理11
1.9 小結11
第2章 自動化開發(fā)環(huán)境搭建12
2.1 安裝及配置Java環(huán)境12
2.1.1 下載JDK12
2.1.2 環(huán)境變量配置13
2.2 開發(fā)工具Eclipse的安裝及配置16
2.2.1 下載Eclipse16
2.2.2 TestNG插件的安裝及配置17
2.2.3 Maven插件的安裝及配置19
2.2.4 新建一個Java工程和測試類23
2.3 開發(fā)工具IDEA的安裝及配置26
2.3.1 下載和安裝IDEA27
2.3.2 IDEA主題和字體設置30
2.3.3 與Eclipse操作習慣進行同步的設置32
2.3.4 IDEA必備開發(fā)插件安裝33
2.3.5 IDEA常用的快捷鍵33
2.3.6 使用IDEA創(chuàng)建一個Maven項目34
2.3.7 IDEA中項目的JDK設置37
2.3.8 使用IDEA編寫第一個程序38
2.4 小結39
第3章 Maven基礎入門40
3.1 什么是Maven40
3.2 為什么要使用Maven40
3.3 Maven倉庫的配置41
3.3.1 倉庫的分類41
3.3.2 三類倉庫之間的關系41
3.3.3 本地倉庫的配置41
3.4 配置Maven私服地址42
3.5 pom文件說明42
3.6 在pom文件中添加依賴JAR包43
3.6.1 手動添加依賴44
3.6.2 Maven項目的目錄結構45
3.7 使用Maven編譯和測試46
3.7.1 編寫一個主類46
3.7.2 編寫一個測試類47
3.7.3 編譯和測試47
3.7.4 打包和運行48
3.7.5 使用Archetype生成項目51
3.8 小結55
第4章 Git基礎入門56
4.1 Git介紹56
4.1.1 什么是Git56
4.1.2 為什么要使用Git56
4.1.3 Git與SVN的區(qū)別57
4.2 Git的工作流程57
4.3 Git客戶端配置57
4.3.1 在Windows上安裝Git57
4.3.2 注冊GitHub賬號58
4.3.3 配置個人的用戶名和電子郵件地址60
4.3.4 在客戶端生成SSH key60
4.3.5 配置SSH key添加公鑰61
4.4 Git常用操作62
4.4.1 創(chuàng)建一個版本庫62
4.4.2 初始化本地倉庫63
4.4.3 添加和提交文件63
4.4.4 將本地倉庫和遠程倉庫相關聯(lián)63
4.4.5 查看版本的操作內容64
4.4.6 版本回退操作65
4.4.7 查看工作區(qū)狀態(tài)65
4.4.8 撤銷修改操作66
4.4.9 刪除文件操作66
4.4.10 分支操作67
4.4.11 解決沖突操作68
4.5 小結69
第5章 頁面元素定位70
5.1 定位插件安裝70
5.1.1 舊版本Firefox定位插件安裝70
5.1.2 最新版本Firefox定位插件安裝72
5.1.3 Chrome瀏覽器定位插件安裝73
5.2 定位頁面元素的方法74
5.2.1 查看頁面元素75
5.2.2 常用元素定位方法75
5.2.3 XPath定位方法詳解77
5.2.4 CSS定位方法詳解81
5.2.5 使用jQuery定位86
5.2.6 table表格常見的定位操作89
5.3 小結92
第6章 主流測試框架TestNG的使用93
6.1 TestNG的基本介紹93
6.1.1 TestNG常見的代碼93
6.1.2 TestNG怎樣執(zhí)行測試94
6.2 TestNG的使用95
6.2.1 快速開始95
6.2.2 注解及屬性97
6.2.3 套件測試100
6.2.4 忽略測試102
6.2.5 分組測試103
6.2.6 異常測試105
6.2.7 依賴測試105
6.2.8 超時測試106
6.2.9 參數化測試108
6.2.10 多線程測試110
6.2.11 TestNG斷言111
6.3 小結115
第7章 從瀏覽器啟動開始116
7.1 啟動Chrome瀏覽器116
7.1.1 環(huán)境準備工作116
7.1.2 下載ChromeDriver驅動118
7.1.3 啟動Chrome瀏覽器118
7.2 啟動IE瀏覽器119
7.2.1 下載IEDriverServer119
7.2.2 配置IE瀏覽器120
7.2.3 啟動IE瀏覽器120
7.3 啟動Firefox瀏覽器121
7.3.1 啟動舊版本的Firefox瀏覽器121
7.3.2 啟動最新版本的Firefox瀏覽器122
7.4 啟動Edge瀏覽器123
7.4.1 下載Microsoft WebDriver123
7.4.2 啟動Edge瀏覽器124
7.5 多瀏覽器并行測試124
7.6 小結127
第8章 WebDriver常用API使用詳解128
8.1 瀏覽器操作128
8.1.1 訪問某個網站128
8.1.2 瀏覽器最大化129
8.1.3 瀏覽器前進和后退操作129
8.1.4 瀏覽器刷新操作129
8.1.5 瀏覽器窗口操作130
8.1.6 獲取頁面標題130
8.1.7 獲取頁面源代碼信息130
8.1.8 獲取當前頁面URL地址131
8.1.9 關閉瀏覽器操作131
8.2 元素操作131
8.2.1 點擊操作132
8.2.2 輸入操作133
8.2.3 獲取頁面元素文本的操作134
8.2.4 獲取頁面元素標簽名稱的操作134
8.2.5 獲取頁面元素屬性值的操作134
8.2.6 獲取頁面元素尺寸的操作135
8.2.7 獲取頁面元素CSS樣式的操作135
8.2.8 獲取頁面元素坐標的操作135
8.2.9 獲取多個頁面元素的操作136
8.3 鼠標事件和鍵盤事件的操作136
8.3.1 鼠標懸浮操作137
8.3.2 鼠標單擊操作138
8.3.3 鼠標雙擊操作139
8.3.4 鼠標移動操作139
8.3.5 鼠標右擊操作139
8.3.6 按住鼠標按鍵和釋放鼠標按鍵的操作139
8.3.7 鼠標拖曳操作139
8.3.8 模擬鍵盤操作145
8.4 Selenium中常見的等待146
8.4.1 實際案例146
8.4.2 強制等待147
8.4.3 頁面等待148
8.4.4 隱式等待149
8.4.5 顯式等待150
8.5 Selenium中的窗口切換處理153
8.5.1 常用切換方法153
8.5.2 兩個窗口切換153
8.5.3 多個窗口切換155
8.6 iframe切換處理158
8.6.1 常用切換方法158
8.6.2 使用iframe標簽位置切換159
8.6.3 使用元素對象進行iframe切換159
8.6.4 使用id屬性進行iframe切換159
8.6.5 使用name屬性進行iframe切換160
8.6.6 iframe切換操作實例160
8.7 彈窗處理163
8.7.1 彈窗分類163
8.7.2 彈窗處理常用方法163
8.7.3 Alert彈窗處理164
8.7.4 Confirm彈窗處理165
8.7.5 Prompt彈窗處理165
8.8 單選框和復選框處理166
8.8.1 什么是單選框和復選框166
8.8.2 判斷是否選中167
8.8.3 單選框處理167
8.8.4 復選框處理167
8.9 下拉框處理168
8.9.1 處理下拉框的常見方法168
8.9.2 下拉框處理169
8.10 Cookie操作170
8.10.1 獲取Cookie170
8.10.2 獲取Cookie個數170
8.10.3 刪除所有Cookie170
8.10.4 設置Cookie171
8.10.5 通過Cookie跳過登錄驗證碼171
8.11 調用JavaScript操作173
8.11.1 Selenium調用JS的用法174
8.11.2 使用Selenium調用JS實例174
8.12 上傳文件操作175
8.12.1 普通控件上傳175
8.12.2 通過Robot對象上傳文件176
8.12.3 借助AutoIt完成上傳文件的操作177
8.13 滾動條操作181
8.13.1 滾動條處理方法181
8.13.2 常見滾動條處理案例181
8.14 截圖操作182
8.14.1 通過TakeScreenshout類實現(xiàn)截圖182
8.14.2 通過Robot對象截圖183
8.14.3 截取目標區(qū)域的圖片183
8.15 錄制屏幕操作184
8.15.1 安裝及配置184
8.15.2 錄制視頻操作185
8.16 富文本操作187
8.16.1 富文本編輯器187
8.16.2 通過鍵盤事件實現(xiàn)輸入操作187
8.16.3 通過進入iframe實現(xiàn)輸入操作188
8.16.4 通過執(zhí)行JS實現(xiàn)輸入操作188
8.17 日期控件操作189
8.17.1 通過js設置日期189
8.17.2 通過iframe設置日期190
8.18 Ajax浮動框操作190
8.18.1 什么是Ajax浮動框190
8.18.2 Ajax浮動框處理191
8.19 下載文件到指定目錄的操作192
8.19.1 Firefox自動下載文件到指定目錄的操作192
8.19.2 Chrome自動下載文件到指定目錄的操作194
8.20 使用SikuliX操作Flash網頁196
8.20.1 實際操作案例196
8.20.2 安裝及配置196
8.20.3 使用SikuliX操作Flash網頁197
8.21 小結199
第9章 數據驅動測試201
9.1 數據驅動測試介紹201
9.2 利用DataProvider進行數據驅動測試201
9.3 利用CSV文件進行數據驅動測試203
9.3.1 創(chuàng)建CSV數據源文件203
9.3.2 利用CSV文件進行數據驅動測試203
9.4 利用Excel文件進行數據驅動測試204
9.4.1 創(chuàng)建Excel數據源文件205
9.4.2 進行數據驅動測試205
9.4.3 驗證使用Excel進行數據驅動測試208
9.5 利用YAML文件進行數據驅動測試208
9.5.1 創(chuàng)建YAML數據源文件208
9.5.2 進行數據驅動測試209
9.5.3 驗證使用YAML進行數據驅動測試210
9.6 利用MySQL數據庫進行數據驅動測試210
9.6.1 數據源準備210
9.6.2 進行數據驅動測試211
9.6.3 驗證使用MySQL進行數據驅動測試212
9.7 小結213
第10章 Page Object設計模式214
10.1 Page Object設計模式介紹214
10.1.1 什么是Page Object設計模式214
10.1.2 Page Object實際應用案例215
10.2 Page Factory設計模式217
10.2.1 @FindBy和@CacheLookup的用法218
10.2.2 Page Factory類的使用218
10.2.3 Page Factory模式實際應用案例218
10.3 小結222
第11章 手把手教你搭建一個自動化測試框架223
11.1 為什么要編寫自動化測試框架223
11.2 框架設計思路與實現(xiàn)224
11.2.1 框架設計思路224
11.2.2 準備工作224
11.2.3 Log4j日志配置227
11.2.4 基礎層的實現(xiàn)228
11.3 元素對象的管理與實現(xiàn)228
11.3.1 解析Excel文件229
11.3.2 By對象的封裝231
11.3.3 元素對象層的再封裝233
11.3.4 操作層的實現(xiàn)234
11.3.5 業(yè)務層的實現(xiàn)234
11.4 測試報告的美化235
11.5 小結239
第12章 行為驅動框架Cucumber的使用240
12.1 BDD框架之Cucumber初探240
12.1.1 什么是Cucumber240
12.1.2 何為BDD240
12.1.3 Feature介紹240
12.1.4 Step介紹241
12.1.5 Cucumber的使用241
12.1.6 如何執(zhí)行244
12.2 使用Cucumber 進行參數化測試245
12.2.1 什么是參數化245
12.2.2 Cucumber的數據驅動245
12.2.3 編寫測試用例文件245
12.2.4 創(chuàng)建業(yè)務測試代碼部分246
12.3 Cucumber操作實例247
12.3.1 編寫測試用例文件247
12.3.2 創(chuàng)建一個Step定義文件247
12.3.3 創(chuàng)建一個Runner類文件248
12.4 小結249
第13章 持續(xù)集成工具Jenkins的使用250
13.1 Jenkins的安裝250
13.1.1 什么是Jenkins250
13.1.2 Jenkins構建過程250
13.1.3 安裝及啟動251
13.2 Jenkins的配置256
13.2.1 Jenkins插件的安裝256
13.2.2 JDK、Maven和Git的配置257
13.2.3 Jenkins創(chuàng)建一個任務258
13.3 Jenkins的郵箱配置260
13.3.1 獲取郵箱服務器相關信息261
13.3.2 開啟QQ郵箱的SMTP服務261
13.3.3 安裝Email Extension Plugin插件262
13.3.4 Jenkins郵箱的全局配置263
13.3.5 項目Job的郵箱配置264
13.4 Cucumber與Jenkins持續(xù)集成266
13.4.1 添加ExtentReports測試報告266
13.4.2 Cucumber入口類267
13.4.3 使用Jenkins持續(xù)集成268
13.5 小結271
第14章 Selenium Grid的使用273
14.1 環(huán)境搭建準備273
14.1.1 什么是Selenium Grid273
14.1.2 搭建Selenium Grid服務273
14.2 Selenium Grid實例276
14.3 小結279
參考文獻280