自動化測試實戰(zhàn)教程(基于Python語言)(微課版)
定 價:53 元
- 作者:彭玲
- 出版時間:2025/5/1
- ISBN:9787121501449
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:244
- 紙張:
- 版次:01
- 開本:16開
本書是一本面向軟件測試工程師和自動化測試初學(xué)者的實用教材。本書以Python語言為基礎(chǔ),全面介紹了自動化測試的基礎(chǔ)知識、測試流程、測試工具、測試用例設(shè)計和自動化腳本編寫。本書不僅涵蓋了自動化測試環(huán)境的搭建、Python編程基礎(chǔ),還深入探討了Selenium、unittest、pytest和Appium等自動化測試工具和框架的應(yīng)用。通過詳細的理論講解和豐富的實戰(zhàn)案例,本書旨在幫助讀者掌握自動化測試的核心技能,提高測試效率和質(zhì)量。本書與時俱進,自動化腳本采用Selenium 4,強調(diào)了Page Object設(shè)計模式的應(yīng)用,以及在移動App自動化測試中Appium和uiautomator2的使用,使讀者能夠快速適應(yīng)當(dāng)前自動化測試的發(fā)展趨勢。
彭玲,1982年6月生,畢業(yè)于武漢大學(xué)計算機應(yīng)用技術(shù)專業(yè),碩士研究生,講師。2017—2023年期間,在國內(nèi)學(xué)術(shù)期刊上發(fā)表計算機科學(xué)類獨撰論文9篇,申請軟件著作權(quán)3項,參與省級科研課題1項,市級科研課題2項。
第一篇 自動化測試基礎(chǔ)知識
第1章 自動化測試概述 2
1.1 自動化測試概述 3
1.1.1 自動化測試的背景 3
1.1.2 自動化測試的定義 3
1.1.3 自動化測試的分類 3
1.1.4 自動化測試的工作原理 4
1.1.5 自動化測試的適用范圍 4
1.1.6 自動化測試的趨勢與發(fā)展 4
1.2 自動化測試的優(yōu)勢與挑戰(zhàn) 5
1.2.1 自動化測試的優(yōu)勢 5
1.2.2 自動化測試的挑戰(zhàn) 5
1.3 測試策略與生命周期 6
1.3.1 測試策略 6
1.3.2 軟件測試生命周期 7
1.4 自動化測試工具的選擇與比較 7
1.4.1 Selenium簡介 8
1.4.2 Appium簡介 9
1.4.3 TestComplete簡介 10
第2章 Web自動化測試環(huán)境搭建 12
2.1 安裝Python 13
2.2 安裝PyCharm 14
2.3 安裝Selenium 17
2.4 安裝瀏覽器驅(qū)動 18
2.5 編寫Selenium自動化測試腳本 21
第3章 Python編程基礎(chǔ) 23
3.1 基礎(chǔ)語法 24
3.1.1 打印 25
3.1.2 編碼規(guī)范 25
3.1.3 引號與注釋 26
3.1.4 縮進 27
3.2 變量與數(shù)據(jù)類型 28
3.2.1 整型、浮點型、字符串 29
3.2.2 列表、元組、字典、集合 31
3.2.3 變量作用域和命名規(guī)則 32
3.3 控制結(jié)構(gòu) 34
3.3.1 條件語句 35
3.3.2 循環(huán)結(jié)構(gòu) 36
3.3.3 break、continue和pass語句 37
3.4 函數(shù) 39
3.4.1 函數(shù)定義與調(diào)用 40
3.4.2 參數(shù)傳遞機制 42
3.4.3 返回值與遞歸函數(shù) 43
3.5 面向?qū)ο缶幊?44
3.5.1 類與對象 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 常用模塊與第三方庫 60
3.9.1 導(dǎo)入模塊 60
3.9.2 創(chuàng)建模塊與包 60
3.9.3 sys模塊與模塊搜索路徑 61
3.9.4 常用的第三方庫 61
第二篇 Web自動化測試
第4章 Selenium基礎(chǔ)方法 66
4.1 WebDriver簡介 66
4.1.1 WebDriver的特點 66
4.1.2 WebDriver API常用方法概覽 67
4.2 瀏覽器操作 68
4.2.1 打開、關(guān)閉瀏覽器 68
4.2.2 網(wǎng)頁的前進和后退 69
4.2.3 刷新瀏覽器頁面 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 頁面元素定位方法概覽 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()方法定位單個元素 82
4.3.11 使用find_elements()方法定位一組元素 83
4.3.12 Selenium 4的相對定位器 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 模擬鍵盤進行文字輸入 87
4.5.2 鍵盤常用組合鍵操作 88
4.6 對象操作 89
4.6.1 單擊對象 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 獲取對象屬性值 90
4.6.7 對象顯示狀態(tài) 90
4.6.8 對象編輯狀態(tài) 90
4.6.9 對象選擇狀態(tài) 90
4.7 獲取頁面及其元素的相關(guān)信息 91
4.7.1 獲取頁面的title、文本和屬性 91
4.7.2 獲取當(dāng)前頁面的URL 92
4.7.3 獲取頁面的源碼 92
4.7.4 判斷頁面元素是否可見 92
4.7.5 判斷頁面元素是否可用 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 日期時間控件 98
5.7 文件下載 99
5.8 文件上傳 100
5.9 多窗口切換操作 101
5.10 多表單切換操作 101
第6章 Selenium高級應(yīng)用 104
6.1 復(fù)雜控件操作 104
6.1.1 滑動滑塊操作概述 105
6.1.2 操作Ajax選項 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 定位動態(tài)id 109
6.2.4 截圖功能 110
6.3 瀏覽器定制啟動參數(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單元測試框架 116
7.1 unittest框架基本結(jié)構(gòu) 117
7.1.1 unittest框架簡介 117
7.1.2 setUp()與tearDown()方法 118
7.1.3 跳過測試和條件執(zhí)行 120
7.2 執(zhí)行測試用例的方法 121
7.2.1 運行命令行工具 122
7.2.2 在Pycharm中運行腳本 123
7.2.3 分組測試 126
7.3 測試用例的執(zhí)行順序 130
7.4 編寫測試斷言 131
7.5 自動生成HTML測試報告 133
7.6 數(shù)據(jù)驅(qū)動 136
7.6.1 數(shù)據(jù)驅(qū)動的概念 136
7.6.2 DDT支持數(shù)據(jù)類型 136
第8章 pytest單元測試框架 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運行方式 155
8.2.4 測試用例的執(zhí)行順序 160
8.3 pytest參數(shù)化 160
8.3.1 數(shù)據(jù)驅(qū)動之parameters 160
8.3.2 數(shù)據(jù)驅(qū)動之fixture()函數(shù) 165
8.4 pytest測試報告 169
8.4.1 pytest-html測試報告 169
第9章 Page Object設(shè)計模式 173
9.1 認識Page Object設(shè)計模式 174
9.2 實現(xiàn)Page Object設(shè)計模式 174
9.2.1 使用Page Object設(shè)計模式的簡單實例 174
9.2.2 改進Page Object 177
第10章 認識App自動化測試工具Appium 185
10.1 Appium簡介 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 移動端測試的特有操作 203
10.4.5 其他常用操作 204
10.5 常用的adb命令 206
10.6 Appium Desktop的操作方法 208
10.6.1 測試準(zhǔn)備工作 208
10.6.2 控件定位 208
10.6.3 腳本運行與調(diào)試 210
第11章 認識App自動化測試工具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 編譯運行方式 220
第12章 自動化測試項目實戰(zhàn) 222
12.1 web自動化測試實戰(zhàn)項目 222
12.1.1 測試項目需求分析 222
12.1.2 測試環(huán)境準(zhǔn)備 224
12.1.3 設(shè)計測試用例 224
12.1.4 自動化測試腳本設(shè)計 225
12.2 移動App自動化測試實戰(zhàn)項目 229
12.2.1 測試項目需求分析 229
12.2.2 測試環(huán)境準(zhǔn)備 230
12.2.3 自動化測試腳本設(shè)計 230