注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)自動(dòng)化技術(shù)、計(jì)算技術(shù)Python Web自動(dòng)化測試設(shè)計(jì)與實(shí)現(xiàn)

Python Web自動(dòng)化測試設(shè)計(jì)與實(shí)現(xiàn)

Python Web自動(dòng)化測試設(shè)計(jì)與實(shí)現(xiàn)

定 價(jià):¥79.00

作 者: 陳曉伍
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787302519294 出版時(shí)間: 2019-03-01 包裝: 平裝
開本: 16 頁數(shù): 372 字?jǐn)?shù):  

內(nèi)容簡介

  本書是資深測試開發(fā)專家的經(jīng)驗(yàn)結(jié)晶,由淺入深地闡釋了Web自動(dòng)化測試的相關(guān)技術(shù),包括Web UI自動(dòng)化測試、API自動(dòng)化測試及測試相關(guān)的基礎(chǔ)開發(fā)。通過學(xué)習(xí)本書,讀者可以基本掌握Web測試相關(guān)的大部分技術(shù)點(diǎn)。本書是測試相關(guān)人員必備的技術(shù)指導(dǎo)。書中每個(gè)技術(shù)點(diǎn)都有示例代碼,理論與實(shí)踐相結(jié)合的方式能夠使讀者快速理解Web自動(dòng)化測試。本書循序漸進(jìn)地講解了Web自動(dòng)化測試的各項(xiàng)知識(shí)點(diǎn),使任何層級的讀者都能從中受益。緒論部分介紹自動(dòng)化方面的基礎(chǔ)知識(shí),幫助讀者少走彎路,正確學(xué)會(huì)自動(dòng)化測試。第1~3章介紹Selenium、Python以及Web UI自動(dòng)化的相關(guān)基礎(chǔ)知識(shí)。第4章和第5章介紹Selenium IDE和Selenium常規(guī)對象接口。第6章介紹Web UI自動(dòng)化特殊場景處理。第7章介紹UnitTest單元測試框架。第8章介紹分層框架設(shè)計(jì)與實(shí)現(xiàn)。第9章介紹測試腳本的部署。第10章和第11章介紹Web API相關(guān)基礎(chǔ)知識(shí)。第12章介紹通過Python發(fā)送HTTP請求。第13章介紹API工具的設(shè)計(jì)與實(shí)現(xiàn)。第14章介紹Web服務(wù)的集成工作。第15章介紹HTTP Mock的開發(fā)。本書適合Web測試人員、Web自動(dòng)化人員、Web開發(fā)人員等初中級讀者以及希望使用Python作為編程語言的軟件測試工程師參考。

作者簡介

  陳曉伍,畢業(yè)于北京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),資深測試開發(fā)專家,有超過10年測試開發(fā)相關(guān)經(jīng)驗(yàn),對測試及自動(dòng)化技術(shù)有較深的理解與應(yīng)用,開發(fā)過若干自動(dòng)化框架與平臺(tái)。曾就職過新浪、當(dāng)、科大訊飛等互聯(lián)網(wǎng)公司,負(fù)責(zé)新浪微博客戶端、當(dāng)電商網(wǎng)站以及靈犀語音助手等產(chǎn)品的自動(dòng)化測試工作?,F(xiàn)在創(chuàng)業(yè)公司擔(dān)任測試經(jīng)理。精通Python語言,擅長Java、Selenium、QTP。創(chuàng)建testqa.cn測試社區(qū),活躍于CSDN與51testing社區(qū)。

圖書目錄

緒論 1
第1章 Selenium基礎(chǔ) 9
1.1 Selenium的歷史和分支 9
1.2 Selenium的特點(diǎn) 12
1.3 Selenium名詞說明 12
1.3.1 Selenium RC 12
1.3.2 Selenium Server 12
1.3.3 Selenium WebDriver 13
1.3.4 Selenium Client 13
1.3.5 Selenium Grid 13
1.3.6 Selenium IDE 13
1.4 Selenium基本原理 14
1.5 Selenium環(huán)境搭建 15
1.5.1 Windows環(huán)境搭建 16
1.5.2 Ubuntu環(huán)境搭建 22
1.5.3 MacOS環(huán)境搭建 26
1.6 Selenium調(diào)用不同瀏覽器 28
1.6.1 調(diào)用Firefox瀏覽器 28
1.6.2 調(diào)用Chrome瀏覽器 29
1.6.3 調(diào)用IE瀏覽器 30
1.6.4 IE瀏覽器安全機(jī)制設(shè)置 30
1.7 Selenium Docker的使用 31
1.7.1 Docker環(huán)境安裝 32
1.7.2 Selenium Docker鏡像下載 35
1.7.3 Docker下運(yùn)行Selenium腳本 36
1.8 Selenium 3說明 38
1.8.1 不再支持Selenium RC 38
1.8.2 僅支持JDK 1.8.0以上版本 38
1.8.3 Selenium IDE支持Chrome插件  38
1.8.4 FireFox需要安裝獨(dú)立驅(qū)動(dòng) 38
1.8.5 僅支持IE 9.0以上版本 39
1.8.6 支持微軟的Edge瀏覽器 39
1.8.7 支持官方的SafariDriver 39

第2章 Python編程基礎(chǔ) 41
2.1 基礎(chǔ)語法 41
2.1.1 Python語句執(zhí)行 41
2.1.2 Python語法格式 42
2.1.3 Python變量與類型 44
2.1.4 Python運(yùn)算符與表達(dá)式 47
2.2 控制語句 52
2.2.1 if-else語句 52
2.2.2 for語句 53
2.2.3 while語句 53
2.2.4 continue語句 54
2.2.5 break語句 54
2.2.6 pass語句 55
2.3 模塊化 55
2.3.1 函數(shù) 55
2.3.2 類與實(shí)例 59
2.3.3 模塊文件 61
2.3.4 包 62
2.4 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu) 63
2.4.1 列表 63
2.4.2 元組 64
2.4.3 字典 65
2.4.4 遍歷數(shù)據(jù) 67
2.5 輸入/輸出 67
2.5.1 命令行輸入/輸出 67
2.5.2 文件輸入/輸出 69
2.6 內(nèi)置函數(shù) 70
2.6.1 id函數(shù) 70
2.6.2 dir函數(shù) 71
2.6.3 help函數(shù) 71
2.6.4 type函數(shù) 72
2.6.5 isinstance函數(shù) 72
2.6.6 zip函數(shù) 72
2.6.7 filter函數(shù) 72
2.6.8 map函數(shù) 73
2.6.9 reduce函數(shù) 73
2.7 異常 73
2.7.1 異常捕獲 73
2.7.2 自定義異常 75
2.8 魔法特性 76
2.8.1 列表推導(dǎo)式 76
2.8.2 迭代器 77
2.8.3 生成器 78
2.8.4 閉包 79
2.8.5 裝飾器 79
2.8.6 內(nèi)省機(jī)制 83
2.9 并發(fā)任務(wù) 86
2.9.1 多進(jìn)程 86
2.9.2 多線程 91
2.9.3 協(xié)程 93
2.10 編解碼 96
2.10.1 源碼文件編碼 97
2.10.2 解釋器默認(rèn)編碼 98
2.10.3 外部文件編碼 99
2.10.4 數(shù)據(jù)庫編碼 100
2.10.5 編解碼函數(shù) 100

第3章 Web UI自動(dòng)化基礎(chǔ) 102
3.1 HTML與DOM簡介 102
3.2 學(xué)習(xí)元素定位方式 104
3.3 CSS定位技術(shù) 106
3.4 使用工具幫助定位 106
3.4.1 IE的Developer Tool 107
3.4.2 Firefox的Web開發(fā)者工具 107
3.4.3 Chrome的開發(fā)者工具 108
3.4.4 Firefox的XPath Checker插件 108
3.4.5 Chrome的XPath工具 109
3.4.6 Firefox的CSS插件 109
3.4.7 Chrome的CSS工具 110
3.4.8 Firefox的WebDriver Element Locator插件 110
3.5 Selenium中進(jìn)行元素定位 112
3.5.1 獲取一個(gè)定位元素 112
3.5.2 獲取一組定位元素 113
3.5.3 匹配非第一個(gè)元素 114

第4章 Selenium IDE 115
4.1 Selenium IDE安裝 115
4.1.1 Firefox安裝 115
4.1.2 Selenium IDE在線安裝 116
4.1.3 Selenium IDE本地安裝 117
4.2 Selenium IDE功能介紹 120
4.2.1 Selenium IDE窗口 120
4.2.2 菜單欄 121
4.2.3 地址欄 123
4.2.4 工具欄 124
4.2.5 用例管理區(qū) 124
4.2.6 用例腳本開發(fā)區(qū) 125
4.2.7 信息輸出區(qū) 126
4.3 Selenium IDE使用 126
4.3.1 Selenium IDE錄制與回放 126
4.3.2 Selenium IDE腳本編輯 128
4.3.3 Selenium IDE元素定位 138
4.3.4 Selenium IDE匹配模式 141
4.3.5 Selenium IDE腳本轉(zhuǎn)換 143

第5章 Selenium常規(guī)對象接口 148
5.1 瀏覽器對象操作 148
5.1.1 查找元素方法 148
5.1.2 瀏覽器窗口方法 149
5.1.3 Cookie處理方法 149
5.2 WebElement對象操作 150
5.3 文本框?qū)ο蟛僮?152
5.4 按鈕對象操作 152
5.5 下拉列表對象操作 153
5.6 鏈接對象操作 154

第6章 Web UI自動(dòng)化特殊場景處理 156
6.1 處理多窗口測試場景 156
6.2 處理瀏覽器彈框場景 158
6.2.1 Alert對象及方法 158
6.2.2 優(yōu)雅地處理Alert彈框 159
6.3 Selenium進(jìn)行鍵盤鼠標(biāo)操作 160
6.3.1 鍵盤操作 160
6.3.2 鼠標(biāo)操作 161
6.4 非Web控件的操作實(shí)現(xiàn) 162
6.5 Selenium執(zhí)行JavaScript及操作DOM 164
6.6 Selenium截屏操作 165

第7章 UnitTest單元測試框架 167
7.1 常規(guī)使用方式 167
7.2 測試套件使用 169
7.3 TestLoader的使用 170
7.4 UnitTest加載流程 172

第8章 分層框架設(shè)計(jì)與實(shí)現(xiàn) 173
8.1 數(shù)據(jù)驅(qū)動(dòng)層 174
8.1.1 文件存儲(chǔ) 175
8.1.2 數(shù)據(jù)庫存儲(chǔ) 176
8.2 定位符驅(qū)動(dòng)層 180
8.2.1 本地文件存儲(chǔ) 181
8.2.2 遠(yuǎn)程服務(wù)存儲(chǔ) 183
8.3 頁面操作層 185
8.4 業(yè)務(wù)邏輯層 190
8.4.1 公共業(yè)務(wù) 190
8.4.2 常規(guī)業(yè)務(wù) 191
8.5 結(jié)果驅(qū)動(dòng)層 193
8.5.1 日志Logger記錄 193
8.5.2 自定義Logger記錄 199
8.5.3 郵件通知結(jié)果 203
8.6 異常處理層 204
8.6.1 程序異常處理 204
8.6.2 斷言異常處理 208
8.6.3 自定義異常類 209

第9章 測試腳本部署 211
9.1 使用SVN管理測試腳本 211
9.1.1 SVN服務(wù)安裝 212
9.1.2 SVN客戶端安裝 217
9.1.3 SVN使用簡介 219
9.1.4 SVN操作規(guī)范 223
9.2 遠(yuǎn)程執(zhí)行用例場景 224
9.3 Selenium Grid模塊及搭建 228
9.3.1 Selenium Grid環(huán)境搭建 229
9.3.2 Selenium Grid使用 232
9.4 持續(xù)集成的自動(dòng)化測試 232

第10章 Web API介紹 236
10.1 HTTP簡介 236
10.1.1 HTTP請求報(bào)文 237
10.1.2 HTTP響應(yīng)報(bào)文 239
10.2 Web API介紹 240
10.3 REST API介紹 241

第11章 Web API自動(dòng)化基礎(chǔ) 243
11.1 正則表達(dá)式模塊學(xué)習(xí) 243
11.1.1 字符搜索 244
11.1.2 字符替換和分割 246
11.1.3 表達(dá)式修飾符 246
11.1.4 其他事項(xiàng) 247
11.2 XML讀寫模塊的學(xué)習(xí) 248
11.2.1 讀取XML文檔 249
11.2.2 寫入XML文檔 252
11.3 JSON模塊的學(xué)習(xí) 253
11.3.1 JSON串生成 254
11.3.2 JSON串解析 256
11.4 MD5、BASE64編解碼 256
11.4.1 BASE64編解碼 257
11.4.2 MD5加密 258
11.4.3 數(shù)據(jù)序列化 259

第12章 Python發(fā)送HTTP請求 261
12.1 HTTP請求發(fā)送 261
12.1.1 requests模塊安裝 261
12.1.2 發(fā)送GET請求 262
12.1.3 發(fā)送POST請求 264
12.1.4 發(fā)送multipart/form-data請求 265
12.1.5 發(fā)送其他類型請求 266
12.2 HTTP請求認(rèn)證 266
12.2.1 HTTP Basic Auth 267
12.2.2 HTTP Digest Auth 267
12.2.3 OAuth認(rèn)證 268
12.2.4 自定義認(rèn)證 268
12.3 URL的編解碼 269
12.4 HTTP響應(yīng)內(nèi)容驗(yàn)證 271
12.4.1 狀態(tài)碼驗(yàn)證 271
12.4.2 響應(yīng)頭驗(yàn)證 272
12.4.3 響應(yīng)體驗(yàn)證 273
12.5 多線程發(fā)送請求 276
12.5.1 函數(shù)式多線程 276
12.5.2 類繼承式多線程 279

第13章 API工具設(shè)計(jì)與實(shí)現(xiàn) 282
13.1 最簡單的API工具 282
13.1.1 請求方法設(shè)置 284
13.1.2 請求頭設(shè)置 288
13.1.3 支持文件上傳 289
13.1.4 簡單結(jié)果驗(yàn)證 292
13.2 測試數(shù)據(jù)讀取 293
13.2.1 測試數(shù)據(jù)格式 293
13.2.2 數(shù)據(jù)存儲(chǔ)方式 294
13.2.3 實(shí)現(xiàn)數(shù)據(jù)讀取 296
13.3 測試數(shù)據(jù)用例化 299
13.3.1 用例基本信息 299
13.3.2 用例套件信息 301
13.3.3 用例模板信息 302
13.4 測試流程控制 304
13.4.1 鉤子函數(shù)接口設(shè)計(jì) 305
13.4.2 鉤子函數(shù)接口調(diào)用 307
13.4.3 鉤子函數(shù)接口實(shí)現(xiàn) 309
13.5 測試結(jié)果驗(yàn)證 311
13.5.1 完全匹配 311
13.5.2 內(nèi)容包含 312
13.5.3 正則匹配 313
13.5.4 JSONPath 313
13.6 測試數(shù)據(jù)記錄 315
13.6.1 結(jié)果記錄 315
13.6.2 日志記錄 317

第14章 集成為Web服務(wù) 319
14.1 Web服務(wù)簡介 319
14.1.1 Web框架選擇 320
14.1.2 DEMO實(shí)現(xiàn) 321
14.1.3 框架開發(fā)學(xué)習(xí) 322
14.2 Web上啟動(dòng)用例執(zhí)行 330
14.2.1 運(yùn)行參數(shù)接收 332
14.2.2 測試請求處理 335
14.3 Web上查看測試結(jié)果 337
14.3.1 任務(wù)列表頁 338
14.3.2 用例結(jié)果頁 340
14.4 持續(xù)集成的API自動(dòng)化測試 342
14.4.1 用例集保存 342
14.4.2 用例集執(zhí)行 345

第15章 HTTP Mock開發(fā) 347
15.1 HTTP Mock介紹 347
15.2 HTTP Mock分析 348
15.3 HTTP Mock實(shí)現(xiàn) 349
15.3.1 根據(jù)請求URL過濾 349
15.3.2 根據(jù)請求方法過濾 350
15.3.3 根據(jù)請求頭過濾 352
15.3.4 根據(jù)請求數(shù)據(jù)過濾 353

參考文獻(xiàn) 356
結(jié)束語 357

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)