《Selenium WebDriver 3 實戰寶典(Java版)》是2019年電子工業出版社出版的圖書,作者是吳曉華、俞美玲。
出版信息
Selenium WebDriver 3 實戰寶典(Java版)
作譯者:吳曉華,俞美玲
出版時間:2019-06
千 字 數:683
版次:01-01
頁 數:500
開本:16開
I S B N :9787121368660
內容簡介
本書是一本從入門到精通模式的Selenium WebDriver實戰經驗分享書籍。全書共分為四個部分:第一部分為基礎篇,主要講解與自動化測試相關的基礎理論、WebDriver環境安裝、單元測試工具的使用方法及 WebDrvier的入門使用實例;第二部分為實戰套用篇,基於豐富的實戰案例講解頁面元素的定位方法及WebDriver的最常用API使用方法;第三部分為自動化測試框架搭建篇,深入講解了頁面對象的設計模式,以及分散式並發執行測試框架、數據驅動測試框架、行為驅動測試框架、關鍵字驅動測試框架和混合驅動測試框架的實例源碼,還講解了如何基於Maven搭建數據驅動測試框架;第四部分為常見問題和解決方法,講解了在WebDriver使用過程中的常見疑難問題和解決方法。本書既適合WebDriver的初學者閱讀,也適合供嘗試編寫自動化測試框架的中、高級自動化測試工程師參考。
第1章 Selenium簡介 002
1.1 Selenium的“前世今生” 002
1.2 Selenium工具套件介紹 003
1.3 Selenium支持的瀏覽器和作業系統 004
1.3.1 Selenium IDE和Selenium 1支持的瀏覽器和作業系統 004
1.3.2 Selenium 2和Selenium 3支持的瀏覽器 005
1.4 Selenium 1和WebDriver的實現原理 006
1.4.1 Selenium 1的實現原理 006
1.4.2 WebDriver的實現原理 008
1.5 Selenium的特性 014
1.5.1 Selenium 1和Selenium 2的特點 014
1.5.2 Selenium 3的新特性 015
第2章 自動化測試的那點事兒 016
2.1 自動化測試的目標 016
2.2 管理層的支持 020
2.3 投入產出比 020
2.4 敏捷開發中的自動化測試套用 021
2.5 自動化測試人員分工 023
2.6 自動化測試工具的選擇和推廣使用 024
2.6.1 自動化測試工具的選擇 024
2.6.2 Selenium WebDriver和QTP的工具特點比較 025
2.7 在項目中實施自動化測試的最佳實踐 025
2.8 學習Selenium工具的能力要求 028
第3章 自動化測試輔助工具 029
3.1 56 版本Firefox瀏覽器的安裝 029
3.2 安裝xPath Finder外掛程式 030
3.3 xPath Finder外掛程式的使用 032
3.3.1 啟動xPath Finder 外掛程式 032
3.3.2 使用xPath Finder外掛程式 032
3.4 使用Firefox開發版瀏覽器查找頁面元素對應的HTML代碼 033
3.5 Chrome 瀏覽器自帶的輔助開發工具 034
3.6 IE瀏覽器自帶的輔助開發工具 035
第4章 Selenium IDE 036
4.1 什麼是Selenium IDE 036
4.2 安裝Selenium IDE 037
4.3 Selenium IDE外掛程式的基本功能 038
4.3.1 新建一個測試工程,錄製並執行腳本 038
4.3.2 常用工具列 041
4.3.3 腳本編輯區域 041
4.4 Selenium IDE腳本介紹——Selenese 042
第5章 搭建Java環境和Eclipse集成開發環境 043
5.1 安裝Java JDK,配置Java環境 043
5.1.1 下載JDK 1.8版本的安裝檔案 043
5.1.2 安裝JDK 1.8版本 044
5.1.3 配置Java環境變數 046
5.2 安裝Java IDE開發工具Eclipse 049
5.3 新建一個Java工程和一個類 052
5.4 Eclipse集成開發環境的使用技巧 055
5.4.1 增大程式代碼和注釋字型 055
5.4.2 自動補全功能 056
第6章 WebDriver的安裝配置 057
6.1 在Eclipse 中配置WebDriver 057
6.2 第一個WebDriver腳本 060
第7章 單元測試框架的基本介紹 062
7.1 什麼是單元測試 062
7.2 JUnit單元測試框架 062
7.2.1 什麼是JUnit 063
7.2.2 安裝JUnit 4 063
7.2.3 JUnit的常見註解 064
7.2.4 創建JUnit 4 Test Suite 070
7.2.5 使用JUnit編寫的WebDriver腳本 072
7.3 TestNG單元測試框架 073
7.3.1 什麼是TestNG 073
7.3.2 TestNG的優點 073
7.3.3 編寫TestNG測試用例的步驟 074
7.3.4 在Eclipse中安裝TestNG外掛程式 074
7.3.5 在TestNG中運行第一個WebDriver測試用例 077
7.3.6 TestNG的常用註解 081
7.3.7 測試集合 085
7.3.8 測試用例的分組 087
7.3.9 依賴測試 090
7.3.10 按照特定順序執行測試用例 091
7.3.11 跳過某個測試方法 092
7.3.12 測試報告中的自定義日誌 093
7.3.13 斷言 094
第8章 頁面元素的定位方法 097
8.1 定位頁面元素的方法匯總 097
8.2 使用ID定位 098
8.3 使用name定位 099
8.4 使用連結的全部文字定位 099
8.5 使用部分連結的文字定位 100
8.6 使用標籤名稱定位 101
8.7 使用Class名稱定位 101
8.8 使用XPath方式定位 102
8.8.1 什麼是XPath 102
8.8.2 XPath語法 103
8.9 使用CSS方式定位 108
8.9.1 什麼是CSS 108
8.9.2 CSS語法 108
8.9.3 XPath定位和CSS定位的比較 113
8.10 使用jQuery方式定位 113
8.10.1 什麼是jQuery 113
8.10.2 jQuery的定位代碼實例 114
8.11 表格的定位方法 116
8.11.1 遍歷表格的全部單元格 116
8.11.2 定位表格中的某個單元格 118
8.11.3 定位表格中的子元素 119
第二篇 實戰套用篇
第9章 WebDriver的多瀏覽器測試 122
9.1 使用IE瀏覽器進行測試 122
9.2 使用Firefox瀏覽器進行測試 123
9.3 使用Chrome瀏覽器進行測試 124
9.4 使用Mac系統中的Safari瀏覽器進行測試 126
9.5 使用TestNG進行並發兼容性測試 126
第10章 WebDriver API實例詳解 131
10.1 訪問某網頁地址 131
10.2 返回上一個訪問的網頁(模擬單擊瀏覽器的後退功能) 132
10.3 從上次訪問網頁前進到下一個網頁(模擬單擊瀏覽器的前進功能) 132
10.4 刷新當前網頁 133
10.5 操作瀏覽器視窗 133
10.6 獲取頁面的Title屬性 134
10.7 獲取頁面的原始碼 134
10.8 獲取當前頁面的URL地址 135
10.9 在輸入框中清除原有的文字內容 135
10.10 在輸入框中輸入指定內容 136
10.11 單擊按鈕 136
10.12 雙擊某個元素 137
10.13 操作單選下拉列表 137
10.14 檢查單選列表的選項文字是否符合期望 138
10.15 操作多選的選擇列表 139
10.16 操作單選框 140
10.17 操作複選框 141
10.18 殺掉Windows的瀏覽器進程 142
10.19 對當前瀏覽器視窗進行截屏 143
10.20 檢查頁面元素的文本內容是否出現 143
10.21 執行JavaScript腳本 144
10.22 拖曳頁面元素 145
10.23 模擬鍵盤的操作 145
10.24 模擬滑鼠右鍵操作 146
10.25 在指定元素上方進行滑鼠懸浮 146
10.26 在指定元素上進行滑鼠單擊左鍵和釋放的操作 148
10.27 查看頁面元素的屬性 149
10.28 獲取頁面元素的CSS屬性值 150
10.29 隱式等待 150
10.30 常用的顯式等待 151
10.31 自定義的顯式等待 153
10.32 判斷頁面元素是否存在 154
10.33 使用Title屬性識別和操作新彈出的瀏覽器視窗 155
10.34 使用頁面的文字內容識別和處理新彈出的瀏覽器視窗 157
10.35 操作JavaScript的Alert彈窗 158
10.36 操作JavaScript的confirm彈窗 159
10.37 操作JavaScript的prompt彈窗 160
10.38 操作frame中的頁面元素 161
10.39 使用frame中的HTML源碼內容來操作frame 164
10.40 操作iframe中的頁面元素 165
10.41 操作瀏覽器的Cookie 166
第11章 WebDriver的高級套用實例 168
11.1 使用JavaScriptExecutor單擊元素 168
11.2 在使用Ajax方式產生的浮動框中,單擊選擇包含某個關鍵字的選項 170
11.3 設定一個頁面對象的屬性值 172
11.4 在日期選擇器上進行日期選擇 174
11.5 無人化自動下載某個檔案 175
11.6 使用sendKeys方法上傳一個檔案附屬檔案 179
11.7 使用第三方工具AutoIt上傳檔案 180
11.8 操作Web頁面的滾動條 186
11.9 啟動帶有用戶配置信息的Firefox瀏覽器視窗 188
11.10 通過Robot對象操作鍵盤 190
11.11 對象庫(UI Map) 193
11.12 操作富文本框 196
11.13 精確比對網頁截圖圖片 202
11.14 高亮顯示正在被操作的頁面元素 204
11.15 在斷言失敗時進行螢幕截圖 206
11.16 使用Log4j在測試過程中列印執行日誌 211
11.17 封裝操作表格的公用類 216
11.18 控制基於HTML5語言實現的視頻播放器 219
11.19 在HTML5的畫布元素上進行繪畫操作 222
11.20 操作HTML5的存儲對象 223
第三篇 自動化測試框架搭建篇
第12章 數據驅動測試 228
12.1 什麼是數據驅動 228
12.2 使用TestNG進行數據驅動 228
12.3 使用TestNG和CSV檔案進行數據驅動 231
12.4 使用TestNG、Apache POI和Excel檔案進行數據驅動測試 234
12.5 使用MySQL資料庫實現數據驅動測試 239
第13章 頁面對象(Page Object)模式 244
13.1 頁面對象模式簡介 244
13.2 使用PageFactory類 245
13.2.1 使用PageFactory類給測試類提供待操作的頁面元素 245
13.2.2 使用PageFactory類封裝頁面元素的操作方法 247
13.3 使用LoadableComponent類 250
13.4 多個PageObject的自動化測試實例 252
第14章 行為驅動測試 260
14.1 行為驅動開發和Cucumber簡介 260
14.2 Cucumber在Eclipse中的環境搭建 261
14.3 在Eclipse中使用JUnit和英文語言進行行為驅動測試 263
14.4 在Eclipse中使用JUnit和中文語言進行行為驅動測試 272
第15章 Selenium Grid的使用 276
15.1 Selenium Grid簡介 276
15.2 Selenium Grid的使用方法 278
15.2.1 遠程使用Firefox瀏覽器進行自動化測試 278
15.2.2 遠程使用IE瀏覽器進行自動化測試 282
15.3 通過TestNG使用Firefox、IE和Chrome瀏覽器進行並發的遠程自動化測試 284
15.3.1 使用靜態類實現並發的遠程自動化測試 284
15.3.2 通過TestNG的配置檔案參數方法進行遠程並發自動化測試 288
15.4 使用Selenium Grid時,在遠程Node計算機上進行截圖 294
第16章 自動化測試框架的Step By Step搭建及測試實戰 296
16.1 什麼是自動化測試框架 296
16.2 數據驅動測試框架搭建及實戰 299
16.3 關鍵字驅動測試框架搭建及實戰 331
16.4 混合驅動測試框架搭建及實戰 398
第17章 基於Maven的數據驅動框架搭建及測試實戰 432
17.1 Maven的安裝與配置 432
17.1.1 下載Maven安裝檔案 432
17.1.2 配置Maven環境變數 433
17.1.3 配置“settings.xml” 435
17.2 基於Maven的數據驅動框架搭建 437
17.3 基於Maven的數據驅動框架測試實踐 478
第四篇 常見問題和解決方法
第18章 自動化測試中的常見問題和解決方法 482
18.1 如何讓WebDriver支持IE 11 482
18.2 “Unexpected error launching Internet Explorer.Browser zoom
level was set to 75%(或其他百分比)”的錯誤如何解決 483
18.3 如何消除Chrome瀏覽器中的“--ignore-certificate- errors”提示 484
18.4 為什麼在某些IE瀏覽器中輸入數字和英文特別慢 485
18.5 常見異常和解決方法 485