本書圍繞Selenium各個(gè)組件的使用技術(shù), 分別以Web應(yīng)用, 移動(dòng)App, Html5應(yīng)用作為測試對象示例, 介紹如何更有效地利用Selenium這一開源免費(fèi)的利器開展自動(dòng)化測試, 從而提高測試工作效率。書中對測試價(jià)值觀, 以及Selenium與其它工具的探討, 旨在幫助初學(xué)者對Selenium有系統(tǒng)性的了解, 在日常工作中能夠有效實(shí)踐。Selenium WebDriver API、不同Driver對象以及工作原理,旨在使讀者對Selenium有深入的了解;第4章重點(diǎn)通過代碼演示介紹了不同類型的
測試框架;第5、6章是拓寬思路,演示了如何使用Selenium WebDriver結(jié)合代碼來操作HTML 5頁面的Web Storage、Canvas對象,
以及如何使用Appium處理原生App和Web App的頁面對象;第7章著重演示了主流BDD框架Cucumber-JVM、Lettuce、Behave的應(yīng)用,偏實(shí)戰(zhàn)場景,
探討了BDD實(shí)施過程中需要考慮的種種問題;第8章介紹了測試人員在Jenkins使用過程中的bi備知識(shí)。本書還提供了所有示例的源碼與素材文件
供讀者練習(xí)使用,讀者可從網(wǎng)上下載本書資源文件。
本書適用于具有編程基礎(chǔ),希望系統(tǒng)地了解UI自動(dòng)化測試的開發(fā)或測試人員,以及對自動(dòng)化測試感興趣的計(jì)算機(jī)專業(yè)學(xué)生等。
目 錄
第1章 自動(dòng)化測試的價(jià)值觀 1
1.1 自動(dòng)化測試與產(chǎn)品質(zhì)量的關(guān)系 1
1.2 自動(dòng)化并不等同于白盒測試 2
1.3 采用自動(dòng)化還是手工測試 4
1.4 如何進(jìn)行自動(dòng)化測試 5
1.5 學(xué)習(xí)自動(dòng)化測試的建議 7
1.6 小結(jié) 8
第2章 Selenium初體驗(yàn) 9
2.1 從一個(gè)測試腳本說起 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 小結(jié) 52
2.7 練習(xí) 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 小結(jié) 88
3.6 練習(xí) 88
第4章 自動(dòng)化框架 89
4.1 線性框架 89
4.2 模塊化框架 91
4.3 數(shù)據(jù)驅(qū)動(dòng)框架 94
4.4 關(guān)鍵字驅(qū)動(dòng)框架 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
當(dāng)前的狀態(tài) 112
5.2.2 設(shè)置網(wǎng)絡(luò)連接狀態(tài)在線/
離線 113
5.3 Canvas 114
5.4 Video 116
5.5 小結(jié) 118
5.6 練習(xí) 118
第6章 移動(dòng)App測試:Appium 119
6.1 認(rèn)識(shí)Appium 120
6.1.1 Appium 是什么 120
6.1.2 Appium與iOS應(yīng)用 120
6.1.3 Appium與Android 應(yīng)用 121
6.2 開始使用Appium 122
6.2.1 準(zhǔn)備工作 122
6.2.2 Appium的安裝與啟動(dòng) 123
6.3 原生App測試實(shí)踐 128
6.3.1 運(yùn)行ios_simple.py 128
6.3.2 運(yùn)行android_simple.py 133
6.3.3 尋找練手App 136
6.4 Web App測試實(shí)踐 139
6.4.1 使用Chrome開發(fā)者工具
查看Web App元素 141
6.4.2 Android Web App的聯(lián)機(jī)
調(diào)試 142
6.4.3 iOS Web App 的聯(lián)機(jī)
調(diào)試 144
6.5 小結(jié) 146
6.6 練習(xí) 146
第7章 BDD:行為驅(qū)動(dòng)開發(fā) 147
7.1 認(rèn)識(shí)BDD 148
7.1.1 BDD的由來 148
7.1.2 與TDD比較 150
7.1.3 選擇合適的BDD工具 151
7.1.4 BDD實(shí)施 157
7.2 BDD工具的使用 160
7.2.1 使用Cucumber-JVM 161
7.2.2 使用Lettuce 168
7.2.3 使用Behave 175
7.3 小結(jié) 182
7.4 練習(xí) 182
第8章 Jenkins的使用 183
8.1 認(rèn)識(shí)Jenkins 183
8.2 Jenkins安裝與啟動(dòng) 185
8.3 任務(wù)定制化 188
8.3.1 同步源碼 190
8.3.2 定時(shí)任務(wù) 190
8.3.3 報(bào)告 191
8.4 用戶與權(quán)限 194
8.5 小結(jié) 195
8.6 練習(xí) 195
參考資料 196