自動(dòng)化測(cè)試實(shí)戰(zhàn)教程(基于Python語(yǔ)言)(微課版)
定 價(jià):53 元
- 作者:彭玲
- 出版時(shí)間:2025/5/1
- ISBN:9787121501449
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:244
- 紙張:
- 版次:01
- 開本:16開
本書是一本面向軟件測(cè)試工程師和自動(dòng)化測(cè)試初學(xué)者的實(shí)用教材。本書以Python語(yǔ)言為基礎(chǔ),全面介紹了自動(dòng)化測(cè)試的基礎(chǔ)知識(shí)、測(cè)試流程、測(cè)試工具、測(cè)試用例設(shè)計(jì)和自動(dòng)化腳本編寫。本書不僅涵蓋了自動(dòng)化測(cè)試環(huán)境的搭建、Python編程基礎(chǔ),還深入探討了Selenium、unittest、pytest和Appium等自動(dòng)化測(cè)試工具和框架的應(yīng)用。通過(guò)詳細(xì)的理論講解和豐富的實(shí)戰(zhàn)案例,本書旨在幫助讀者掌握自動(dòng)化測(cè)試的核心技能,提高測(cè)試效率和質(zhì)量。本書與時(shí)俱進(jìn),自動(dòng)化腳本采用Selenium 4,強(qiáng)調(diào)了Page Object設(shè)計(jì)模式的應(yīng)用,以及在移動(dòng)App自動(dòng)化測(cè)試中Appium和uiautomator2的使用,使讀者能夠快速適應(yīng)當(dāng)前自動(dòng)化測(cè)試的發(fā)展趨勢(shì)。
彭玲,1982年6月生,畢業(yè)于武漢大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)專業(yè),碩士研究生,講師。2017—2023年期間,在國(guó)內(nèi)學(xué)術(shù)期刊上發(fā)表計(jì)算機(jī)科學(xué)類獨(dú)撰論文9篇,申請(qǐng)軟件著作權(quán)3項(xiàng),參與省級(jí)科研課題1項(xiàng),市級(jí)科研課題2項(xiàng)。
第一篇 自動(dòng)化測(cè)試基礎(chǔ)知識(shí)
第1章 自動(dòng)化測(cè)試概述 2
1.1 自動(dòng)化測(cè)試概述 3
1.1.1 自動(dòng)化測(cè)試的背景 3
1.1.2 自動(dòng)化測(cè)試的定義 3
1.1.3 自動(dòng)化測(cè)試的分類 3
1.1.4 自動(dòng)化測(cè)試的工作原理 4
1.1.5 自動(dòng)化測(cè)試的適用范圍 4
1.1.6 自動(dòng)化測(cè)試的趨勢(shì)與發(fā)展 4
1.2 自動(dòng)化測(cè)試的優(yōu)勢(shì)與挑戰(zhàn) 5
1.2.1 自動(dòng)化測(cè)試的優(yōu)勢(shì) 5
1.2.2 自動(dòng)化測(cè)試的挑戰(zhàn) 5
1.3 測(cè)試策略與生命周期 6
1.3.1 測(cè)試策略 6
1.3.2 軟件測(cè)試生命周期 7
1.4 自動(dòng)化測(cè)試工具的選擇與比較 7
1.4.1 Selenium簡(jiǎn)介 8
1.4.2 Appium簡(jiǎn)介 9
1.4.3 TestComplete簡(jiǎn)介 10
第2章 Web自動(dòng)化測(cè)試環(huán)境搭建 12
2.1 安裝Python 13
2.2 安裝PyCharm 14
2.3 安裝Selenium 17
2.4 安裝瀏覽器驅(qū)動(dòng) 18
2.5 編寫Selenium自動(dòng)化測(cè)試腳本 21
第3章 Python編程基礎(chǔ) 23
3.1 基礎(chǔ)語(yǔ)法 24
3.1.1 打印 25
3.1.2 編碼規(guī)范 25
3.1.3 引號(hào)與注釋 26
3.1.4 縮進(jìn) 27
3.2 變量與數(shù)據(jù)類型 28
3.2.1 整型、浮點(diǎn)型、字符串 29
3.2.2 列表、元組、字典、集合 31
3.2.3 變量作用域和命名規(guī)則 32
3.3 控制結(jié)構(gòu) 34
3.3.1 條件語(yǔ)句 35
3.3.2 循環(huán)結(jié)構(gòu) 36
3.3.3 break、continue和pass語(yǔ)句 37
3.4 函數(shù) 39
3.4.1 函數(shù)定義與調(diào)用 40
3.4.2 參數(shù)傳遞機(jī)制 42
3.4.3 返回值與遞歸函數(shù) 43
3.5 面向?qū)ο缶幊?44
3.5.1 類與對(duì)象 45
3.5.2 構(gòu)造方法與析構(gòu)方法 46
3.5.3 屬性與方法 47
3.5.4 繼承與多態(tài) 49
3.6 異常處理與調(diào)試技術(shù) 51
3.6.1 異常類型與捕獲 53
3.6.2 拋出異常與自定義異常 53
3.7 文件操作 54
3.7.1 打開與關(guān)閉文件 55
3.7.2 讀寫文件的基本操作 56
3.7.3 文件路徑管理 56
3.8 推導(dǎo)式 58
3.8.1 列表推導(dǎo)式 59
3.8.2 字典推導(dǎo)式 59
3.8.3 集合推導(dǎo)式 60
3.9 常用模塊與第三方庫(kù) 60
3.9.1 導(dǎo)入模塊 60
3.9.2 創(chuàng)建模塊與包 60
3.9.3 sys模塊與模塊搜索路徑 61
3.9.4 常用的第三方庫(kù) 61
第二篇 Web自動(dòng)化測(cè)試
第4章 Selenium基礎(chǔ)方法 66
4.1 WebDriver簡(jiǎn)介 66
4.1.1 WebDriver的特點(diǎn) 66
4.1.2 WebDriver API常用方法概覽 67
4.2 瀏覽器操作 68
4.2.1 打開、關(guān)閉瀏覽器 68
4.2.2 網(wǎng)頁(yè)的前進(jìn)和后退 69
4.2.3 刷新瀏覽器頁(yè)面 70
4.2.4 瀏覽器窗口最大化、最小化和全屏 70
4.2.5 獲取、設(shè)置瀏覽器窗口的大小 71
4.2.6 獲取、設(shè)置瀏覽器窗口的位置 71
4.2.7 瀏覽器操作方法和屬性總結(jié) 72
4.3 Selenium元素定位 73
4.3.1 頁(yè)面元素定位方法概覽 75
4.3.2 使用id定位元素 77
4.3.3 使用name定位元素 78
4.3.4 使用class name定位元素 78
4.3.5 使用tag name定位元素 78
4.3.6 使用全鏈接的文字定位元素 79
4.3.7 使用部分鏈接文字定位元素 79
4.3.8 使用XPath定位元素 79
4.3.9 使用CSS定位元素 80
4.3.10 使用find_element()方法定位單個(gè)元素 82
4.3.11 使用find_elements()方法定位一組元素 83
4.3.12 Selenium 4的相對(duì)定位器 83
4.4 鼠標(biāo)操作 84
4.4.1 內(nèi)置鼠標(biāo)操作包 85
4.4.2 鼠標(biāo)懸停操作 85
4.4.3 鼠標(biāo)拖曳操作 86
4.4.4 其他鼠標(biāo)操作 87
4.5 鍵盤操作 87
4.5.1 模擬鍵盤進(jìn)行文字輸入 87
4.5.2 鍵盤常用組合鍵操作 88
4.6 對(duì)象操作 89
4.6.1 單擊對(duì)象 89
4.6.2 輸入內(nèi)容 89
4.6.3 清空內(nèi)容 89
4.6.4 提交表單 89
4.6.5 獲取文本內(nèi)容 90
4.6.6 獲取對(duì)象屬性值 90
4.6.7 對(duì)象顯示狀態(tài) 90
4.6.8 對(duì)象編輯狀態(tài) 90
4.6.9 對(duì)象選擇狀態(tài) 90
4.7 獲取頁(yè)面及其元素的相關(guān)信息 91
4.7.1 獲取頁(yè)面的title、文本和屬性 91
4.7.2 獲取當(dāng)前頁(yè)面的URL 92
4.7.3 獲取頁(yè)面的源碼 92
4.7.4 判斷頁(yè)面元素是否可見 92
4.7.5 判斷頁(yè)面元素是否可用 92
4.7.6 判斷元素的選中狀態(tài) 93
第5章 常見控件操作 94
5.1 復(fù)選框 95
5.2 下拉框 95
5.3 警告框 96
5.4 非JavaScript彈窗 97
5.5 表格 97
5.6 日期時(shí)間控件 98
5.7 文件下載 99
5.8 文件上傳 100
5.9 多窗口切換操作 101
5.10 多表單切換操作 101
第6章 Selenium高級(jí)應(yīng)用 104
6.1 復(fù)雜控件操作 104
6.1.1 滑動(dòng)滑塊操作概述 105
6.1.2 操作Ajax選項(xiàng) 105
6.1.3 操作富文本編輯器 106
6.2 WebDriver的特殊操作 107
6.2.1 元素class值包含空格 108
6.2.2 attribute、property和text的區(qū)別 108
6.2.3 定位動(dòng)態(tài)id 109
6.2.4 截圖功能 110
6.3 瀏覽器定制啟動(dòng)參數(shù) 110
6.4 影響元素加載的外部因素 111
6.5 設(shè)置元素等待 112
6.5.1 顯式等待 112
6.5.2 隱式等待 113
6.6 JavaScript的應(yīng)用 114
第7章 unittest單元測(cè)試框架 116
7.1 unittest框架基本結(jié)構(gòu) 117
7.1.1 unittest框架簡(jiǎn)介 117
7.1.2 setUp()與tearDown()方法 118
7.1.3 跳過(guò)測(cè)試和條件執(zhí)行 120
7.2 執(zhí)行測(cè)試用例的方法 121
7.2.1 運(yùn)行命令行工具 122
7.2.2 在Pycharm中運(yùn)行腳本 123
7.2.3 分組測(cè)試 126
7.3 測(cè)試用例的執(zhí)行順序 130
7.4 編寫測(cè)試斷言 131
7.5 自動(dòng)生成HTML測(cè)試報(bào)告 133
7.6 數(shù)據(jù)驅(qū)動(dòng) 136
7.6.1 數(shù)據(jù)驅(qū)動(dòng)的概念 136
7.6.2 DDT支持?jǐn)?shù)據(jù)類型 136
第8章 pytest單元測(cè)試框架 143
8.1 pytest框架基本結(jié)構(gòu) 144
8.1.1 pytest框架 144
8.1.2 setup()與teardown() 146
8.2 pytest的基本使用 149
8.2.1 pytest固件 149
8.2.2 pytest斷言 153
8.2.3 pytest運(yùn)行方式 155
8.2.4 測(cè)試用例的執(zhí)行順序 160
8.3 pytest參數(shù)化 160
8.3.1 數(shù)據(jù)驅(qū)動(dòng)之parameters 160
8.3.2 數(shù)據(jù)驅(qū)動(dòng)之fixture()函數(shù) 165
8.4 pytest測(cè)試報(bào)告 169
8.4.1 pytest-html測(cè)試報(bào)告 169
第9章 Page Object設(shè)計(jì)模式 173
9.1 認(rèn)識(shí)Page Object設(shè)計(jì)模式 174
9.2 實(shí)現(xiàn)Page Object設(shè)計(jì)模式 174
9.2.1 使用Page Object設(shè)計(jì)模式的簡(jiǎn)單實(shí)例 174
9.2.2 改進(jìn)Page Object 177
第10章 認(rèn)識(shí)App自動(dòng)化測(cè)試工具Appium 185
10.1 Appium簡(jiǎn)介 186
10.1.1 Appium的工作原理 187
10.1.2 Appium環(huán)境搭建 189
10.2 Desired Capabilities解析 194
10.3 控件定位 196
10.3.1 App控件的定位之id定位 196
10.3.2 app控件的定位之ClassName定位 196
10.3.3 App控件的定位之XPath定位 197
10.3.4 App控件的定位之Accessibility id定位 198
10.3.5 App控件的定位之Android uiautomator定位 198
10.3.6 uiautomatorviewer、inspect定位 199
10.4 Appium的常用API 199
10.4.1 上下文操作 200
10.4.2 鍵盤操作 201
10.4.3 觸摸操作 201
10.4.4 移動(dòng)端測(cè)試的特有操作 203
10.4.5 其他常用操作 204
10.5 常用的adb命令 206
10.6 Appium Desktop的操作方法 208
10.6.1 測(cè)試準(zhǔn)備工作 208
10.6.2 控件定位 208
10.6.3 腳本運(yùn)行與調(diào)試 210
第11章 認(rèn)識(shí)App自動(dòng)化測(cè)試工具uiautomator 2 212
11.1 uiautomator 2 環(huán)境搭建 213
11.1.1 什么是uiautomator 2 213
11.1.2 uiautomator 2的環(huán)境搭建 213
11.2 常見定位方式 216
11.3 常見API的使用方法 218
11.4 編譯運(yùn)行方式 220
第12章 自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn) 222
12.1 web自動(dòng)化測(cè)試實(shí)戰(zhàn)項(xiàng)目 222
12.1.1 測(cè)試項(xiàng)目需求分析 222
12.1.2 測(cè)試環(huán)境準(zhǔn)備 224
12.1.3 設(shè)計(jì)測(cè)試用例 224
12.1.4 自動(dòng)化測(cè)試腳本設(shè)計(jì) 225
12.2 移動(dòng)App自動(dòng)化測(cè)試實(shí)戰(zhàn)項(xiàng)目 229
12.2.1 測(cè)試項(xiàng)目需求分析 229
12.2.2 測(cè)試環(huán)境準(zhǔn)備 230
12.2.3 自動(dòng)化測(cè)試腳本設(shè)計(jì) 230