精通Selenium WebDriver 3.0 第2版 ( 簡體 字) |
作者:[印度]馬克·柯林(Mark Collin) | 類別:1. -> 程式設計 -> 網路爬蟲 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 51709 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:9/1/2019 |
頁數:313 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115515476 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書通過大量測試代碼、界面截圖和操作步驟,介紹了如何使用Selenium WebDriver 3.0實現Web自動化測試。主要內容包括如何構建測試框架、如何處理失敗的測試、Selenium生成的各種異常的含義、自動化測試失敗的原因、頁面對象的使用方法、高級用戶交互API的使用方法、JavascriptExecutor類的使用方法、Selenium的缺點、如何在Selenium中使用Docker等。 本書有助于讀者快速掌握并在實際工作中使用Selenium WebDriver 3.0,適合測試人員、開發人員以及相關專業人士閱讀。 |
目錄:第 1章 如何加快測試速度 1 1.1 使開發人員易于運行測試 2 1.2 使用Apache Maven構建測試項目 2 1.3 并行執行測試 8 1.4 使用TestNG進行并行測試 11 1.5 不存在銀彈 21 1.6 多瀏覽器支持 22 1.7 自動下載WebDriver二進制文件 30 1.8 后臺模式 38 1.9 總結 43
第 2章 如何正確處理失敗的測試 44 2.1 測試代碼的位置 44 2.2 測試是一種實時文檔 45 2.3 測試的可靠性 47 2.3.1 孤立的自動化團隊 47 2.3.2 時好時壞的測試 48 2.4 增強測試的可靠性 49 2.4.1 Git 50 2.4.2 Subversion 51 2.5 關鍵在于持續集成 52 2.5.1 設置TeamCity 55 2.5.2 設置Jenkins 61 2.6 使用Selenium-Grid擴展功能 68 2.7 一圖勝過千言萬語 73 2.8 別畏懼龐大的錯誤棧追蹤信息 79 2.9 總結 83
第3章 必知的異常 84 3.1 NoSuchElementException異常 84 3.2 NoSuchFrameException異常 86 3.3 NoSuchWindowException異常 86 3.4 ElementNotVisibleException異常 87 3.5 StaleElementReferenceException異常 87 3.6 InvalidElementStateException異常 90 3.7 UnsupportedCommandException異常 90 3.8 UnreachableBrowserException異常 91 3.9 SessionNotFoundException異常 93 3.10 WebDriverException異常—元素此時不可單擊 93 3.11 NoAlertPresentException異常 94 3.12 總結 94
第4章 等待的藝術 95 4.1 頁面真的準備好了嗎 95 4.2 影響頁面加載的外部因素 96 4.2.1 計算機規格因素 96 4.2.2 服務器規格因素 96 4.2.3 JavaScript引擎性能因素 97 4.2.4 網絡因素 97 4.3 解決問題的思路 97 4.4 Selenium內置的等待機制 98 4.4.1 頁面加載超時機制 99 4.4.2 腳本超時機制 99 4.4.3 隱式等待超時機制 100 4.5 使用顯式等待 104 4.6 顯式等待的核心——流式等待 106 4.6.1 函數 108 4.6.2 Java 8 Lambda表達式 111 4.7 總結 112
第5章 使用高效的頁面對象 113 5.1 為何不斷做重復的事情 113 5.2 一切始于頁面對象 121 5.3 頁面對象關注點的分離 123 5.4 Java PageFactory類簡介 125 5.4.1 使用PageFactory注釋 125 5.4.2 初始化代理對象 127 5.4.3 PageFactory類存在的問題 129 5.5 Query對象簡介 130 5.6 選擇PageFactory類還是Query對象 133 5.7 創建可擴展的頁面對象 133 5.8 將頁面對象轉換為易讀的DSL 137 5.9 流式頁面對象 140 5.10 總結 144
第6章 使用高級用戶交互API 145 6.1 API簡介 146 6.2 使用API解決困難問題 147 6.2.1 使用懸停菜單 147 6.2.2 使用拖放操作 151 6.2.3 使用偏移量 155 6.2.4 使用快捷訪問鍵 162 6.2.5 高級交互API并非絕對有效 170 6.3 總結 171
第7章 使用Selenium執行JavaScript代碼 172 7.1 JavaScript執行器簡介 172 7.2 JavaScript執行器的誤用與濫用 175 7.3 JavaScript執行器的正確用法 176 7.4 更復雜的案例 177 7.5 JavaScript庫的導入方式 184 7.6 JavaScript庫的導入原則 186 7.7 如何執行異步腳本 186 7.8 自動實現用戶交互 188 7.9 總結 191
第8章 實事求是 192 8.1 使用Selenium下載文件 192 8.1.1 使用場景 192 8.1.2 面臨的問題 193 8.1.3 下一步的行動 193 8.1.4 真需要下載文件嗎 194 8.1.5 檢查鏈接是否有效 194 8.1.6 下載文件的辦法 202 8.1.7 使用Selenium協助下載文件 204 8.2 通過Selenium無法跟蹤網絡流量 211 8.3 跟蹤網絡流量的辦法 212 8.4 使用Selenium編寫性能測試 222 8.5 使用Selenium進行滲透測試 225 8.6 總結 228
第9章 將Docker整合到Selenium中 229 9.1 Docker簡介 229 9.2 通過Docker啟動Selenium-Grid 232 9.3 在新的Selenium-Grid上運行測試 237 9.4 將Docker容器的啟動作為構建的一部分 238 9.5 使用Docker Maven插件 242 9.6 使用Docker Compose 245 9.7 Docker的不足之處 247 9.8 總結 247
第 10章 展望Selenium的未來 249 10.1 機器學習—全新的追求 249 10.2 視覺驗證 251 10.2.1 Applitools Eyes 253 10.2.2 引入人工智能 260 10.3 自我修復測試 262 10.4 自動編寫測試 264 10.5 總結 264
附錄A 如何進一步完善Selenium 265 附錄B 使用JUnit 280 附錄C Appium簡介 288 |
序: |