Selenium是一個主要用于Web應(yīng)用程序自動化測試的工具集合,在行業(yè)內(nèi)已經(jīng)得到廣泛的應(yīng)用。本書介紹了如何用Python語言調(diào)用Selenium WebDriver接口進行自動化測試。主要內(nèi)容為:基于Python 的 Selenium WebDriver 入門知識、Selenium Python腳本、使用unittest 編寫單元測試、生成HTML格式的測試報告、元素定位、Selenium Python API 介紹、元素等待機制、跨瀏覽器測試、移動端測試、編寫一個iOS測試腳本、編寫一個Android測試腳本、Page Object與數(shù)據(jù)驅(qū)動測試、Selenium WebDriver的特性、第三方工具與框架集成等核心技術(shù)。
《Selenium自動化測試 基于Python語言》適合任何軟件測試人員閱讀,也適合作為大專院校師生的學習用書和培訓學校的教材。
Unmesh Gundecha擁有計算機軟件碩士學位,在軟件開發(fā)與測試領(lǐng)域有著12年的工作經(jīng)驗。無論是在應(yīng)對業(yè)界標準,還是定制需求下,他都有著豐富的構(gòu)建自動化測試解決方案的經(jīng)驗。與此同時,他還主導開發(fā)了大量商業(yè)或開源的自動化測試工具。
他曾供職于微軟公司,從事開發(fā)有關(guān)的工作。目前在印度的一家跨國企業(yè)從事測試架構(gòu)師工作,在Ruby、Java、iOS、Android和PHP的項目中有著極豐富的開發(fā)與測試經(jīng)驗。
第 1章 基于Python的Selenium
WebDriver入門 1
1.1 環(huán)境準備 2
1.1.1 安裝Python 3
1.1.2 安裝Selenium包 3
1.1.3 瀏覽Selenium WebDriver
Python文檔 3
1.1.4 選擇一個IDE 4
1.1.5 PyCharm設(shè)置 8
1.2 Selenium Python腳本 11
1.3 支持跨瀏覽器 16
1.3.1 設(shè)置IE瀏覽器 16
1.3.2 設(shè)置Google Chrome
瀏覽器 19
1.4 章節(jié)回顧 21
第 2章 使用unittest編寫單元測試 22
2.1 unittest單元測試框架 23
2.1.1 TestCase類 25
2.1.2 類級別的setUp()方法和
tearDown()方法 30
2.1.3 斷言 32
2.1.4 測試套件 33
2.2 生成HTML格式的測試報告 36
2.3 章節(jié)回顧 38
第3章 元素定位 39
3.1 借助瀏覽器開發(fā)模式定位 42
3.1.1 用火狐瀏覽器Firebug插件檢查頁面元素 42
3.1.2 用谷歌Chrome瀏覽器
檢查頁面元素 43
3.1.3 用IE瀏覽器檢查頁面
元素 44
3.2 元素定位 45
3.2.1 ID定位 46
3.2.2 name定位 47
3.2.3 class定位 47
3.2.4 tag定位 48
3.2.5 XPath定位 50
3.2.6 CSS選擇器定位 51
3.2.7 Link定位 53
3.2.8 Partial link定位 54
3.3 方法實踐 54
3.4 章節(jié)回顧 58
第4章 Selenium Python API介紹 59
4.1 HTML表單元素 60
4.2 WebDriver原理 61
4.2.1 WebDriver功能 61
4.2.2 WebDriver方法 61
4.3 WebElement接口 63
4.3.1 WebElement功能 63
4.3.2 WebElement方法 63
4.4 操作表單、文本框、復(fù)選框、單選
按鈕 64
4.4.1 檢查元素是否啟用或
顯示 65
4.4.2 獲取元素對應(yīng)的值 66
4.4.3 is_selected()方法 67
4.4.4 clear()與send_keys()
方法 67
4.5 操作下拉菜單 71
4.5.1 Select原理 72
4.5.2 Select功能 72
4.5.3 Select方法 72
4.6 操作警告和彈出框 75
4.6.1 Alert 原理 75
4.6.2 Alert功能 75
4.6.3 Alert方法 75
4.6.4 瀏覽器自動化處理 78
4.7 章節(jié)回顧 80
第5章 元素等待機制 81
5.1 隱式等待 82
5.2 顯式等待 84
5.3 expected_conditions類 85
5.3.1 判斷某個元素是否
存在 87
5.3.2 判斷是否存在Alerts 88
5.4 預(yù)期條件判斷的實踐 89
5.5 章節(jié)回顧 90
第6章 跨瀏覽器測試 91
6.1 Selenium Standalone Server 93
6.1.1 下載Selenium Standalone
Server 93
6.1.2 啟動Selenium Standalone
Server 94
6.2 在Selenium Standalone Server上
執(zhí)行測試 95
6.2.1 配置IE支持 98
6.2.2 配置Chrome支持 98
6.3 Selenium Grid 98
6.3.1 啟動hub 99
6.3.2 添加節(jié)點 100
6.4 Mac OS X的Safari節(jié)點 103
6.5 在Grid上執(zhí)行測試 104
6.6 在云端執(zhí)行測試 107
6.7 章節(jié)回顧 110
第7章 移動端測試 111
7.1 認識Appium 112
7.1.1 Appium支持的應(yīng)用
類型 113
7.1.2 Appium環(huán)境準備 113
7.2 安裝Appium 116
7.3 iOS測試 119
7.4 Android測試 122
7.5 使用Sauce Labs 126
7.6 章節(jié)回顧 128
第8章 Page Object與數(shù)據(jù)驅(qū)動
測試 129
8.1 數(shù)據(jù)驅(qū)動測試 130
8.2 使用ddt執(zhí)行數(shù)據(jù)驅(qū)動測試 131
8.2.1 安裝ddt 131
8.2.2 設(shè)計一個簡單的數(shù)據(jù)
驅(qū)動測試 131
8.3 使用外部數(shù)據(jù)的數(shù)據(jù)驅(qū)動
測試 133
8.3.1 通過CSV獲取數(shù)據(jù) 133
8.3.2 通過Excel獲取數(shù)據(jù) 136
8.4 Page Object設(shè)計模式 138
8.4.1 測試準備 140
8.4.2 BasePage對象 140
8.4.3 實現(xiàn)Page Object 141
8.4.4 構(gòu)建Page Object模式
測試實例 145
8.5 章節(jié)回顧 146
第9章 Selenium WebDriver的特性 147
9.1 鍵盤與鼠標事件 148
9.1.1 鍵盤事件 150
9.1.2 鼠標事件 151
9.2 調(diào)用JavaScript 154
9.3 屏幕截圖 157
9.4 屏幕錄制 158
9.5 彈出窗的處理 161
9.6 操作cookies 163
9.7 章節(jié)回顧 165
第 10章 第三方工具與框架集成 167
10.1 行為驅(qū)動開發(fā)(BDD) 168
10.1.1 Behave安裝 169
10.1.2 feature 169
10.2 持續(xù)集成Jenkins 174
10.2.1 Jenkins環(huán)境準備 174
10.2.2 搭建Jenkins 175
10.3 章節(jié)回顧 182