本書基于Python語言,系統(tǒng)地介紹了Selenium與Appium自動化測試的相關(guān)知識及應(yīng)用。
本書共10章,第1章主要講解自動化測試的基礎(chǔ)知識,第2~4章主要講解Selenium WebDriver的應(yīng)用與App自動化測試;第5~9章主要講解了單元測試框架、PO模式、數(shù)據(jù)驅(qū)動、日志和持續(xù)集成;第10章通過測試一個黑馬頭條項目幫助初學(xué)者鞏固第1~9章學(xué)習(xí)的知識,讓初學(xué)者掌握自動化測試在實際工作中的運用。
本書附有配套視頻、源代碼、教學(xué)課件等教學(xué)資源,為了幫助初學(xué)者更好地學(xué)習(xí)本書的內(nèi)容,作者還提供了在線答疑服務(wù),希望能夠幫助更多的讀者。
本書適合作為高等教育本、?圃盒S嬎銠C相關(guān)專業(yè)的教材,也可作為自動化測試愛好者的自學(xué)讀物。
1.本書是黑馬程序員軟件測試系列教材;
2.本書配套有豐富的教學(xué)資源,包括教學(xué)視頻、源代碼、PPT、教學(xué)設(shè)計、教學(xué)大綱、課后習(xí)題及答案、題庫、在線答疑等。
黑馬程序員 傳智播客成立于2006年,它是由中國Java培訓(xùn)先行者張孝祥老師發(fā)起,聯(lián)合全球最大的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦的一家專業(yè)教育機構(gòu)。辦學(xué)至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學(xué)理念,堅持培養(yǎng)優(yōu)秀軟件應(yīng)用工程師的宏偉目標,在累計培養(yǎng)的十萬余名學(xué)員中,其中90%的學(xué)員均已在北、上、廣等一線城市高薪就業(yè)。為了迎合軟件市場的需求,我們陸續(xù)開設(shè)了Java、網(wǎng)頁平面、PHP、.Net、iOS、C/C++、Android等9個專業(yè)方向的課程,并且未來將逐漸開設(shè)其他專業(yè)方向的課程。隨著傳智播客的日益壯大,除了北京總部,我們在上海、廣州、武漢、成都、深圳等地也創(chuàng)立了直營分支機構(gòu),傳智播客儼然已成為了國內(nèi)最具專業(yè)口碑的IT教育機構(gòu)。
目錄
第 1章 自動化測試概述 1
1.1 自動化測試簡介 1
1.1.1 自動化測試的概念 1
1.1.2 自動化測試的優(yōu)缺點 2
1.1.3 自動化測試的分類 3
1.2 自動化測試的基本流程 4
1.3 自動化測試的常用工具 7
1.4 本章小結(jié) 8
1.5 本章習(xí)題 8
第 2章 Selenium WebDriver的基本應(yīng)用 9
2.1 Selenium WebDriver簡介 9
2.2 搭建Web自動化測試環(huán)境 10
2.2.1 搭建Python環(huán)境 10
2.2.2 安裝Selenium 15
2.2.3 安裝瀏覽器驅(qū)動 17
2.3 元素定位簡介 19
2.4 使用瀏覽器定位頁面元素 19
2.4.1 使用Chrome瀏覽器定位頁面元素 20
2.4.2 使用Firefox瀏覽器定位頁面元素 20
2.5 使用Selenium定位頁面元素 21
2.5.1 單個元素的定位 21
2.5.2 一組元素的定位 25
2.6 獲取元素的常用信息 27
2.6.1 獲取元素尺寸 27
2.6.2 獲取元素文本 29
2.6.3 獲取元素屬性值 29
2.7 元素的常用操作 33
2.8 鼠標的常用操作 34
2.9 鍵盤的常用操作 35
2.10 瀏覽器的常用操作 37
2.10.1 瀏覽器窗口的處置 37
2.10.2 瀏覽器的前進與后退 38
2.10.3 瀏覽器頁面的刷新 39
2.10.4 獲取瀏覽器頁面的標題和URL 40
2.10.5 瀏覽器窗口的關(guān)閉 41
2.11 本章小結(jié) 42
2.12 本章習(xí)題 42
第3章 Selenium WebDriver的高級應(yīng)用 44
3.1 下拉選擇框操作 44
3.2 彈出框操作 47
3.3 截圖操作 50
3.4 多窗口切換 53
3.5 多表單切換 54
3.6 元素等待 56
3.6.1 顯式等待 56
3.6.2 隱式等待 58
3.6.3 強制等待 60
3.7 Cookie處理 60
3.8 文件上傳與下載 61
3.9 執(zhí)行JavaScript腳本 67
3.9.1 JavaScript腳本控制瀏覽器滾動條 67
3.9.2 JavaScript腳本處理日期控件 69
3.10 本章小結(jié) 70
3.11 本章習(xí)題 70
第4章 App自動化測試 72
4.1 搭建App自動化測試環(huán)境 72
4.1.1 安裝JDK 1.8 72
4.1.2 下載Android SDK 74
4.1.3 創(chuàng)建Android模擬器 75
4.1.4 安裝Appium與Appium-Python-Client庫 80
4.2 App自動化測試常用工具 84
4.2.1 adb調(diào)試工具 84
4.2.2 uiautomatorviewer工具 86
4.3 驅(qū)動操作 89
4.3.1 獲取手機屏幕分辨率 89
4.3.2 獲取手機屏幕截圖 90
4.3.3 獲取手機網(wǎng)絡(luò)類型 91
4.3.4 模擬手機鍵盤操作 92
4.3.5 手機通知欄操作 93
4.4 手勢操作 94
4.4.1 輕敲操作 94
4.4.2 按下和抬起操作 96
4.4.3 等待操作 97
4.4.4 長按操作 98
4.4.5 移動操作 99
4.4.6 滑動和拖曳操作 101
4.5 Toast消息處理 104
4.6 本章小結(jié) 107
4.7 本章習(xí)題 107
第5章 單元測試框架 109
5.1 unittest框架 109
5.1.1 unittest框架簡介 110
5.1.2 unittest的核心要素 110
5.1.3 unittest示例 112
5.1.4 unittest斷言 113
5.1.5 生成HTML測試報告 114
5.2 pytest框架 116
5.2.1 pytest框架簡介 116
5.2.2 pytest框架的安裝方式 116
5.2.3 pytest示例 118
5.2.4 pytest斷言 120
5.2.5 Fixture 122
5.2.6 pytest配置文件 123
5.2.7 測試用例的執(zhí)行順序 125
5.2.8 跳過測試用例 127
5.2.9 失敗重試 128
5.2.10 參數(shù)化 129
5.2.11 生成測試報告 131
5.3 本章小結(jié) 136
5.4 本章習(xí)題 137
第6章 PO模式 138
6.1 PO模式簡介 138
6.1.1 PO模式的概念 138
6.1.2 PO模式的優(yōu)缺點 138
6.2 PO模式的案例實戰(zhàn) 139
6.2.1 商城登錄功能簡介 139
6.2.2 創(chuàng)建工具類UtilsDriver 140
6.2.3 創(chuàng)建基類BasePage與BaseHandle 141
6.2.4 商城首頁的PO模式 142
6.2.5 登錄頁面的PO模式 143
6.2.6 創(chuàng)建登錄功能的測試用例 144
6.3 本章小結(jié) 146
6.4 本章習(xí)題 146
第7章 數(shù)據(jù)驅(qū)動 148
7.1 數(shù)據(jù)驅(qū)動簡介 148
7.1.1 數(shù)據(jù)驅(qū)動的概念 148
7.1.2 測試數(shù)據(jù)的來源 149
7.2 文本數(shù)據(jù)驅(qū)動的實現(xiàn) 149
7.3 基于DDT數(shù)據(jù)驅(qū)動的實現(xiàn) 151
7.3.1 安裝DDT 151
7.3.2 DDT讀取測試數(shù)據(jù) 152
7.4 實戰(zhàn)演練——TPshop開源商城的登錄功能測試 155
7.4.1 設(shè)計測試用例 155
7.4.2 準備測試數(shù)據(jù) 156
7.4.3 獲取測試數(shù)據(jù) 156
7.4.4 創(chuàng)建登錄測試用例 157
7.5 本章小結(jié) 158
7.6 本章習(xí)題 159
第8章 日志 160
8.1 日志簡介 160
8.1.1 日志的概念 160
8.1.2 日志的作用 160
8.2 logging模塊中的日志 161
8.2.1 日志級別 161
8.2.2 日志級別函數(shù) 161
8.2.3 配置日志函數(shù) 163
8.2.4 日志的四大組件 166
8.3 實戰(zhàn)演練——每分鐘生成一個日志文件 169
8.4 本章小結(jié) 170
8.5 本章習(xí)題 170
第9章 持續(xù)集成 172
9.1 持續(xù)集成簡介 172
9.2 Git應(yīng)用 173
9.2.1 Git簡介 173
9.2.2 Git安裝 173
9.2.3 Git基本操作命令 174
9.2.4 Gitee運用 175
9.3 Jenkins應(yīng)用 177
9.3.1 Jenkins簡介 177
9.3.2 Jenkins安裝 178
9.3.3 Jenkins初始化 181
9.3.4 安裝Allure插件 184
9.3.5 Jenkins系統(tǒng)配置 186
9.3.6 Jenkins構(gòu)建任務(wù) 189
9.4 本章小結(jié) 196
9.5 本章習(xí)題 196
第 10章 實戰(zhàn)項目——黑馬頭條 198
10.1 項目簡介 198
10.1.1 項目概述 198
10.1.2 項目測試環(huán)境 199
10.2 測試功能模塊 199
10.2.1 自媒體運營系統(tǒng)登錄功能 200
10.2.2 自媒體運營系統(tǒng)發(fā)布文章功能 200
10.2.3 后臺管理系統(tǒng)登錄功能 201
10.2.4 后臺管理系統(tǒng)內(nèi)容審核功能 202
10.2.5 App用戶端登錄功能 202
10.2.6 App用戶端滑屏查看文章功能 203
10.3 測試用例設(shè)計 203
10.3.1 自媒體運營系統(tǒng)測試用例 203
10.3.2 后臺管理系統(tǒng)測試用例 204
10.3.3 App用戶端測試用例 205
10.4 創(chuàng)建工具類 205
10.5 創(chuàng)建基類 207
10.5.1 創(chuàng)建自媒體運營系統(tǒng)的基類 207
10.5.2 創(chuàng)建后臺管理系統(tǒng)的基類 208
10.5.3 創(chuàng)建App用戶端的基類 209
10.6 頁面對象封裝 209
10.6.1 自媒體運營系統(tǒng)頁面對象的封裝 210
10.6.2 后臺管理系統(tǒng)頁面對象的封裝 214
10.6.3 App用戶端頁面對象的封裝 219
10.7 測試用例腳本編寫 223
10.7.1 自媒體運營系統(tǒng)測試用例腳本 223
10.7.2 后臺管理系統(tǒng)測試用例腳本 224
10.7.3 App用戶端測試用例腳本 225
10.8 數(shù)據(jù)驅(qū)動與日志收集 226
10.9 測試報告生成 228
10.10 項目持續(xù)集成 230
10.11 本章小結(jié) 238