Selenium是一個(gè)主要用于Web應(yīng)用程序自動(dòng)化測(cè)試的工具集合,在行業(yè)內(nèi)已經(jīng)得到廣泛的應(yīng)用。本書介紹了如何用Python語言調(diào)用Selenium WebDriver接口進(jìn)行自動(dòng)化測(cè)試。主要內(nèi)容為:基于Python 的 Selenium WebDriver 入門知識(shí)、Selenium Python腳本、使用unittest 編寫單元測(cè)試、生成HTML格式的測(cè)試報(bào)告、元素定位、Selenium Python API 介紹、元素等待機(jī)制、跨瀏覽器測(cè)試、移動(dòng)端測(cè)試、編寫一個(gè)iOS測(cè)試腳本、編寫一個(gè)Android測(cè)試腳本、Page Object與數(shù)據(jù)驅(qū)動(dòng)測(cè)試、Selenium WebDriver的特性、第三方工具與框架集成等核心技術(shù)。
《Selenium自動(dòng)化測(cè)試 基于Python語言》適合任何軟件測(cè)試人員閱讀,也適合作為大專院校師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
Unmesh Gundecha擁有計(jì)算機(jī)軟件碩士學(xué)位,在軟件開發(fā)與測(cè)試領(lǐng)域有著12年的工作經(jīng)驗(yàn)。無論是在應(yīng)對(duì)業(yè)界標(biāo)準(zhǔn),還是定制需求下,他都有著豐富的構(gòu)建自動(dòng)化測(cè)試解決方案的經(jīng)驗(yàn)。與此同時(shí),他還主導(dǎo)開發(fā)了大量商業(yè)或開源的自動(dòng)化測(cè)試工具。
他曾供職于微軟公司,從事開發(fā)有關(guān)的工作。目前在印度的一家跨國(guó)企業(yè)從事測(cè)試架構(gòu)師工作,在Ruby、Java、iOS、Android和PHP的項(xiàng)目中有著極豐富的開發(fā)與測(cè)試經(jīng)驗(yàn)。
第 1章 基于Python的Selenium
WebDriver入門 1
1.1 環(huán)境準(zhǔn)備 2
1.1.1 安裝Python 3
1.1.2 安裝Selenium包 3
1.1.3 瀏覽Selenium WebDriver
Python文檔 3
1.1.4 選擇一個(gè)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編寫單元測(cè)試 22
2.1 unittest單元測(cè)試框架 23
2.1.1 TestCase類 25
2.1.2 類級(jí)別的setUp()方法和
tearDown()方法 30
2.1.3 斷言 32
2.1.4 測(cè)試套件 33
2.2 生成HTML格式的測(cè)試報(bào)告 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 方法實(shí)踐 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 獲取元素對(duì)應(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 瀏覽器自動(dòng)化處理 78
4.7 章節(jié)回顧 80
第5章 元素等待機(jī)制 81
5.1 隱式等待 82
5.2 顯式等待 84
5.3 expected_conditions類 85
5.3.1 判斷某個(gè)元素是否
存在 87
5.3.2 判斷是否存在Alerts 88
5.4 預(yù)期條件判斷的實(shí)踐 89
5.5 章節(jié)回顧 90
第6章 跨瀏覽器測(cè)試 91
6.1 Selenium Standalone Server 93
6.1.1 下載Selenium Standalone
Server 93
6.1.2 啟動(dòng)Selenium Standalone
Server 94
6.2 在Selenium Standalone Server上
執(zhí)行測(cè)試 95
6.2.1 配置IE支持 98
6.2.2 配置Chrome支持 98
6.3 Selenium Grid 98
6.3.1 啟動(dòng)hub 99
6.3.2 添加節(jié)點(diǎn) 100
6.4 Mac OS X的Safari節(jié)點(diǎn) 103
6.5 在Grid上執(zhí)行測(cè)試 104
6.6 在云端執(zhí)行測(cè)試 107
6.7 章節(jié)回顧 110
第7章 移動(dòng)端測(cè)試 111
7.1 認(rèn)識(shí)Appium 112
7.1.1 Appium支持的應(yīng)用
類型 113
7.1.2 Appium環(huán)境準(zhǔn)備 113
7.2 安裝Appium 116
7.3 iOS測(cè)試 119
7.4 Android測(cè)試 122
7.5 使用Sauce Labs 126
7.6 章節(jié)回顧 128
第8章 Page Object與數(shù)據(jù)驅(qū)動(dòng)
測(cè)試 129
8.1 數(shù)據(jù)驅(qū)動(dòng)測(cè)試 130
8.2 使用ddt執(zhí)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試 131
8.2.1 安裝ddt 131
8.2.2 設(shè)計(jì)一個(gè)簡(jiǎn)單的數(shù)據(jù)
驅(qū)動(dòng)測(cè)試 131
8.3 使用外部數(shù)據(jù)的數(shù)據(jù)驅(qū)動(dòng)
測(cè)試 133
8.3.1 通過CSV獲取數(shù)據(jù) 133
8.3.2 通過Excel獲取數(shù)據(jù) 136
8.4 Page Object設(shè)計(jì)模式 138
8.4.1 測(cè)試準(zhǔn)備 140
8.4.2 BasePage對(duì)象 140
8.4.3 實(shí)現(xiàn)Page Object 141
8.4.4 構(gòu)建Page Object模式
測(cè)試實(shí)例 145
8.5 章節(jié)回顧 146
第9章 Selenium WebDriver的特性 147
9.1 鍵盤與鼠標(biāo)事件 148
9.1.1 鍵盤事件 150
9.1.2 鼠標(biāo)事件 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ū)動(dòng)開發(fā)(BDD) 168
10.1.1 Behave安裝 169
10.1.2 feature 169
10.2 持續(xù)集成Jenkins 174
10.2.1 Jenkins環(huán)境準(zhǔn)備 174
10.2.2 搭建Jenkins 175
10.3 章節(jié)回顧 182