本書圍繞Selenium各個組件的使用技術, 分別以Web應用, 移動App, Html5應用作為測試對象示例, 介紹如何更有效地利用Selenium這一開源免費的利器開展自動化測試, 從而提高測試工作效率。書中對測試價值觀, 以及Selenium與其它工具的探討, 旨在幫助初學者對Selenium有系統(tǒng)性的了解, 在日常工作中能夠有效實踐。Selenium WebDriver API、不同Driver對象以及工作原理,旨在使讀者對Selenium有深入的了解;第4章重點通過代碼演示介紹了不同類型的
測試框架;第5、6章是拓寬思路,演示了如何使用Selenium WebDriver結合代碼來操作HTML 5頁面的Web Storage、Canvas對象,
以及如何使用Appium處理原生App和Web App的頁面對象;第7章著重演示了主流BDD框架Cucumber-JVM、Lettuce、Behave的應用,偏實戰(zhàn)場景,
探討了BDD實施過程中需要考慮的種種問題;第8章介紹了測試人員在Jenkins使用過程中的bi備知識。本書還提供了所有示例的源碼與素材文件
供讀者練習使用,讀者可從網上下載本書資源文件。
本書適用于具有編程基礎,希望系統(tǒng)地了解UI自動化測試的開發(fā)或測試人員,以及對自動化測試感興趣的計算機專業(yè)學生等。
目 錄
第1章 自動化測試的價值觀 1
1.1 自動化測試與產品質量的關系 1
1.2 自動化并不等同于白盒測試 2
1.3 采用自動化還是手工測試 4
1.4 如何進行自動化測試 5
1.5 學習自動化測試的建議 7
1.6 小結 8
第2章 Selenium初體驗 9
2.1 從一個測試腳本說起 9
2.2 Selenium家族 10
2.3 Selenium IDE 12
2.3.1 安裝Selenium IDE 12
2.3.2 Selenium IDE的使用 13
2.3.3 場景演練 20
2.4 Selenium WebDriver 37
2.4.1 工作原理 37
2.4.2 元素定位 38
2.4.3 場景演練 41
2.4.4 Wait 45
2.4.5 常用的斷言 46
2.5 Selenium Grid 47
2.5.1 工作原理 47
2.5.2 環(huán)境搭建 48
2.6 小結 52
2.7 練習 52
第3章 Selenium WebDriver 53
3.1 創(chuàng)建不同的Driver對象 53
3.1.1 主流瀏覽器 53
3.1.2 Headless瀏覽器 56
3.2 常用API概覽 59
3.2.1 瀏覽器操作 60
3.2.2 ActionChains 61
3.2.3 Alert 61
3.2.4 By 62
3.2.5 Desired Capabilities 62
3.2.6 Keys 63
3.2.7 Wait 64
3.2.8 execute_script 64
3.2.9 switch_to 66
3.3 場景演練 66
3.3.1 彈出框 67
3.3.2 懸浮菜單 71
3.3.3 表格 75
3.3.4 iframe 79
3.3.5 上傳與下載 81
3.4 可能遇到的異常 83
3.5 小結 88
3.6 練習 88
第4章 自動化框架 89
4.1 線性框架 89
4.2 模塊化框架 91
4.3 數(shù)據(jù)驅動框架 94
4.4 關鍵字驅動框架 102
第5章 HTML 5測試 107
5.1 Web Storage 108
5.1.1 Local Storage 108
5.1.2 Session Storage 111
5.2 Application Cache 111
5.2.1 獲得Application Cache
當前的狀態(tài) 112
5.2.2 設置網絡連接狀態(tài)在線/
離線 113
5.3 Canvas 114
5.4 Video 116
5.5 小結 118
5.6 練習 118
第6章 移動App測試:Appium 119
6.1 認識Appium 120
6.1.1 Appium 是什么 120
6.1.2 Appium與iOS應用 120
6.1.3 Appium與Android 應用 121
6.2 開始使用Appium 122
6.2.1 準備工作 122
6.2.2 Appium的安裝與啟動 123
6.3 原生App測試實踐 128
6.3.1 運行ios_simple.py 128
6.3.2 運行android_simple.py 133
6.3.3 尋找練手App 136
6.4 Web App測試實踐 139
6.4.1 使用Chrome開發(fā)者工具
查看Web App元素 141
6.4.2 Android Web App的聯(lián)機
調試 142
6.4.3 iOS Web App 的聯(lián)機
調試 144
6.5 小結 146
6.6 練習 146
第7章 BDD:行為驅動開發(fā) 147
7.1 認識BDD 148
7.1.1 BDD的由來 148
7.1.2 與TDD比較 150
7.1.3 選擇合適的BDD工具 151
7.1.4 BDD實施 157
7.2 BDD工具的使用 160
7.2.1 使用Cucumber-JVM 161
7.2.2 使用Lettuce 168
7.2.3 使用Behave 175
7.3 小結 182
7.4 練習 182
第8章 Jenkins的使用 183
8.1 認識Jenkins 183
8.2 Jenkins安裝與啟動 185
8.3 任務定制化 188
8.3.1 同步源碼 190
8.3.2 定時任務 190
8.3.3 報告 191
8.4 用戶與權限 194
8.5 小結 195
8.6 練習 195
參考資料 196