Python自動(dòng)化測(cè)試實(shí)戰(zhàn)
本書的寫作初衷是為了幫助更多功能測(cè)試人員轉(zhuǎn)型自動(dòng)化測(cè)試方向。在轉(zhuǎn)型過(guò)程中,主流自動(dòng)化測(cè)試技術(shù)和應(yīng)用場(chǎng)景的結(jié)合是非常重要的一環(huán)。本書從自動(dòng)化測(cè)試?yán)碚撊胧,全面地闡述自動(dòng)化測(cè)試的意義及實(shí)施過(guò)程。全文以Python語(yǔ)言驅(qū)動(dòng),結(jié)合真實(shí)案例分別對(duì)主流自動(dòng)化測(cè)試工具Selenium、RobotFramework、Postman、Python+Requests、Appium等進(jìn)行系統(tǒng)講解。通過(guò)學(xué)習(xí)本書,讀者可以快速掌握主流自動(dòng)化測(cè)試技術(shù),并幫助讀者豐富測(cè)試思維,提高Python編碼能力。
本書實(shí)用性強(qiáng),不僅是轉(zhuǎn)型自動(dòng)化測(cè)試方向的一本案頭書,也是一本特別好用、實(shí)用的操練手冊(cè)。
鹿瑞峰,高級(jí)測(cè)試工程師,曾供職于華為、順豐等互聯(lián)網(wǎng)公司,擔(dān)任測(cè)試經(jīng)理、高級(jí)測(cè)試工程師等職務(wù)。博客園分享原創(chuàng)文章超過(guò)300篇,同時(shí)創(chuàng)建了“IT測(cè)試?yán)媳蔽⑿殴娞?hào),專注分享有關(guān)自動(dòng)化測(cè)試技術(shù)的相關(guān)內(nèi)容。
第1章 自動(dòng)化測(cè)試?yán)碚?
1.1 自動(dòng)化測(cè)試現(xiàn)狀 2
1.2 自動(dòng)化測(cè)試的定義 2
1.3 自動(dòng)化測(cè)試流程 3
1.4 自動(dòng)化測(cè)試用例編寫 4
第2章 Selenium 3自動(dòng)化測(cè)試實(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單元測(cè)試框架 36
2.12 數(shù)據(jù)驅(qū)動(dòng)測(cè)試實(shí)戰(zhàn) 42
2.13 發(fā)送郵件實(shí)戰(zhàn) 53
2.14 自動(dòng)化測(cè)試封裝實(shí)戰(zhàn) 58
2.15 測(cè)試框架封裝和腳本的分層設(shè)計(jì) 62
2.16 自動(dòng)化測(cè)試擴(kuò)展應(yīng)用實(shí)戰(zhàn) 90
第3章 Robot Framework自動(dòng)化測(cè)試實(shí)戰(zhàn)
3.1 搭建Robot Framework環(huán)境 98
3.2 安裝與導(dǎo)入Selenium2Library庫(kù) 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 常見問(wèn)題整理 124
3.15 自定義關(guān)鍵字 125
3.16 參數(shù)化關(guān)鍵字 127
3.17 關(guān)鍵字驅(qū)動(dòng)測(cè)試 129
3.18 Settings界面簡(jiǎn)介 130
3.19 項(xiàng)目分層設(shè)計(jì)與開發(fā)實(shí)戰(zhàn) 130
3.20 連接MySQL數(shù)據(jù)庫(kù)實(shí)戰(zhàn) 133
3.21 Jenkins+Robot Framework持續(xù)集成 139
第4章 接口測(cè)試基礎(chǔ)
4.1 接口測(cè)試的定義 142
4.2 接口測(cè)試的目的 142
4.3 接口測(cè)試原理 143
4.4 接口測(cè)試流程 143
4.5 接口測(cè)試用例設(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過(guò)濾請(qǐng)求 157
5.5 Charles常見問(wèn)題 158
第6章 Postman接口測(cè)試高級(jí)實(shí)戰(zhàn)
6.1 安裝Postman 160
6.2 Collections簡(jiǎn)介 160
6.3 基于HTTP接口實(shí)戰(zhàn) 161
6.4 基于Web Services接口實(shí)戰(zhàn) 168
第7章 Python接口自動(dòng)化測(cè)試實(shí)戰(zhàn)
7.1 安裝Requests庫(kù) 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 接口測(cè)試框架設(shè)計(jì)和開發(fā) 201
第8章 Robot Framework接口自動(dòng)化實(shí)戰(zhàn)
8.1 Collections庫(kù)案例實(shí)戰(zhàn) 217
8.2 ExcelLibrary庫(kù)案例應(yīng)用 221
8.3 RequestsLibrary庫(kù)案例實(shí)戰(zhàn) 225
8.4 ExcelLibrary庫(kù)數(shù)據(jù)管理案例實(shí)戰(zhàn) 228
第9章 Appium自動(dòng)化測(cè)試實(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常見問(wèn)題 262
第10章 Git版本控制工具實(shí)戰(zhàn)
10.1 搭建Git環(huán)境 265
10.2 Git基本操作 267
10.3 Git項(xiàng)目管理 274