Python自動(dòng)化測試實(shí)戰(zhàn)
本書的寫作初衷是為了幫助更多功能測試人員轉(zhuǎn)型自動(dòng)化測試方向。在轉(zhuǎn)型過程中,主流自動(dòng)化測試技術(shù)和應(yīng)用場景的結(jié)合是非常重要的一環(huán)。本書從自動(dòng)化測試?yán)碚撊胧,全面地闡述自動(dòng)化測試的意義及實(shí)施過程。全文以Python語言驅(qū)動(dòng),結(jié)合真實(shí)案例分別對(duì)主流自動(dòng)化測試工具Selenium、RobotFramework、Postman、Python+Requests、Appium等進(jìn)行系統(tǒng)講解。通過學(xué)習(xí)本書,讀者可以快速掌握主流自動(dòng)化測試技術(shù),并幫助讀者豐富測試思維,提高Python編碼能力。
本書實(shí)用性強(qiáng),不僅是轉(zhuǎn)型自動(dòng)化測試方向的一本案頭書,也是一本特別好用、實(shí)用的操練手冊(cè)。
鹿瑞峰,高級(jí)測試工程師,曾供職于華為、順豐等互聯(lián)網(wǎng)公司,擔(dān)任測試經(jīng)理、高級(jí)測試工程師等職務(wù)。博客園分享原創(chuàng)文章超過300篇,同時(shí)創(chuàng)建了“IT測試?yán)媳蔽⑿殴娞?hào),專注分享有關(guān)自動(dòng)化測試技術(shù)的相關(guān)內(nèi)容。
第1章 自動(dòng)化測試?yán)碚?
1.1 自動(dòng)化測試現(xiàn)狀 2
1.2 自動(dòng)化測試的定義 2
1.3 自動(dòng)化測試流程 3
1.4 自動(dòng)化測試用例編寫 4
第2章 Selenium 3自動(dòng)化測試實(shí)戰(zhàn)
2.1 搭建自動(dòng)化環(huán)境 6
2.2 配置瀏覽器驅(qū)動(dòng) 9
2.3 元素定位實(shí)戰(zhàn) 12
2.4 下拉框?qū)崙?zhàn) 19
2.5 鼠標(biāo)操作實(shí)戰(zhàn) 22
2.6 元素等待實(shí)戰(zhàn) 24
2.7 表單切換實(shí)戰(zhàn) 25
2.8 窗口切換實(shí)戰(zhàn) 28
2.9 警告框?qū)崙?zhàn) 30
2.10 JavaScript實(shí)戰(zhàn) 32
2.11 unittest單元測試框架 36
2.12 數(shù)據(jù)驅(qū)動(dòng)測試實(shí)戰(zhàn) 42
2.13 發(fā)送郵件實(shí)戰(zhàn) 53
2.14 自動(dòng)化測試封裝實(shí)戰(zhàn) 58
2.15 測試框架封裝和腳本的分層設(shè)計(jì) 62
2.16 自動(dòng)化測試擴(kuò)展應(yīng)用實(shí)戰(zhàn) 90
第3章 Robot Framework自動(dòng)化測試實(shí)戰(zhàn)
3.1 搭建Robot Framework環(huán)境 98
3.2 安裝與導(dǎo)入Selenium2Library庫 101
3.3 瀏覽器驅(qū)動(dòng)配置 103
3.4 元素定位實(shí)戰(zhàn) 105
3.5 JQuery定位實(shí)戰(zhàn) 110
3.6 獲取窗口標(biāo)題 115
3.7 獲取文本信息 116
3.8 鼠標(biāo)指針懸停實(shí)戰(zhàn) 116
3.9 操作多窗口實(shí)戰(zhàn) 117
3.10 操作下拉列表框?qū)崙?zhàn) 119
3.11 操作警告框?qū)崙?zhàn) 120
3.12 獲取結(jié)果斷言 120
3.13 項(xiàng)目執(zhí)行順序 123
3.14 常見問題整理 124
3.15 自定義關(guān)鍵字 125
3.16 參數(shù)化關(guān)鍵字 127
3.17 關(guān)鍵字驅(qū)動(dòng)測試 129
3.18 Settings界面簡介 130
3.19 項(xiàng)目分層設(shè)計(jì)與開發(fā)實(shí)戰(zhàn) 130
3.20 連接MySQL數(shù)據(jù)庫實(shí)戰(zhàn) 133
3.21 Jenkins+Robot Framework持續(xù)集成 139
第4章 接口測試基礎(chǔ)
4.1 接口測試的定義 142
4.2 接口測試的目的 142
4.3 接口測試原理 143
4.4 接口測試流程 143
4.5 接口測試用例設(shè)計(jì) 144
4.6 HTTP基礎(chǔ) 145
4.7 Cookie和Session 148
第5章 Charles抓包工具實(shí)戰(zhàn)
5.1 下載與安裝Charles 151
5.2 計(jì)算機(jī)端抓包設(shè)置 151
5.3 手機(jī)端抓包設(shè)置 155
5.4 Charles過濾請(qǐng)求 157
5.5 Charles常見問題 158
第6章 Postman接口測試高級(jí)實(shí)戰(zhàn)
6.1 安裝Postman 160
6.2 Collections簡介 160
6.3 基于HTTP接口實(shí)戰(zhàn) 161
6.4 基于Web Services接口實(shí)戰(zhàn) 168
第7章 Python接口自動(dòng)化測試實(shí)戰(zhàn)
7.1 安裝Requests庫 182
7.2 Requests發(fā)送請(qǐng)求與參數(shù)傳遞 183
7.3 處理Token 187
7.4 處理Cookie 189
7.5 處理Session 190
7.6 處理超時(shí)等待 193
7.7 Response對(duì)象解析 194
7.8 Requests文件上傳實(shí)戰(zhàn) 195
7.9 Requests常見異常 197
7.10 序列化和反序列化 197
7.11 XML與JSON數(shù)據(jù)之間的轉(zhuǎn)換 199
7.12 接口測試框架設(shè)計(jì)和開發(fā) 201
第8章 Robot Framework接口自動(dòng)化實(shí)戰(zhàn)
8.1 Collections庫案例實(shí)戰(zhàn) 217
8.2 ExcelLibrary庫案例應(yīng)用 221
8.3 RequestsLibrary庫案例實(shí)戰(zhàn) 225
8.4 ExcelLibrary庫數(shù)據(jù)管理案例實(shí)戰(zhàn) 228
第9章 Appium自動(dòng)化測試實(shí)戰(zhàn)
9.1 安裝Appium環(huán)境 234
9.2 使用Monitor定位元素 244
9.3 Native App實(shí)戰(zhàn) 250
9.4 Appium完整腳本實(shí)戰(zhàn) 257
9.5 Appium常見問題 262
第10章 Git版本控制工具實(shí)戰(zhàn)
10.1 搭建Git環(huán)境 265
10.2 Git基本操作 267
10.3 Git項(xiàng)目管理 274