注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)圖形圖像、多媒體、網(wǎng)頁制作Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實(shí)踐

Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實(shí)踐

Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實(shí)踐

定 價:¥69.00

作 者: 金鑫 等著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302472759 出版時間: 2017-08-01 包裝: 平裝
開本: 16開 頁數(shù): 381 字?jǐn)?shù):  

內(nèi)容簡介

  全書共分為四部分。一部分為基礎(chǔ)篇,總覽了前端開發(fā)測試中的挑戰(zhàn)與測試轉(zhuǎn)型,介紹了測試基礎(chǔ)環(huán)境的搭建;第二部分為單元測試篇,深入介紹了如何基于Jasmine單元測試框架和gulp、Karma等構(gòu)建、執(zhí)行工具對前端JavaScript代碼進(jìn)行單元測試,以及AngularJS單元測試的實(shí)踐和代碼覆蓋率等;第三部分為自動化測試篇,基于Protractor介紹了在Node.js環(huán)境下通過Selenium WebDriver全面覆蓋各個主流瀏覽器,進(jìn)行自動化測試的實(shí)踐,包括頁面對象模型、性能測試和分布式測試等;第四部分為集成篇,闡述了基于持續(xù)集成以實(shí)現(xiàn)更快、更可靠的軟件交付,展示了如何通過Jenkins與TFS、VSTS和GitHub的集成,實(shí)現(xiàn)Web應(yīng)用的持續(xù)測試。

作者簡介

  金鑫,微軟專家級工程師,目前和微軟平臺即服務(wù)產(chǎn)品(PaaS)Azure App Service的產(chǎn)品組合作,為微軟Azure App Service的支持工程師提供技術(shù)咨詢、解決方案和自動化診斷工具。自2000年加入微軟亞太區(qū)全球技術(shù)支持中心以來一直專注于企業(yè)級Web應(yīng)用和分布式系統(tǒng),精通IIS,ASP.NET,Windows Workflow Foundation, COM+ 等技術(shù)。最近幾年致力于現(xiàn)代Web開發(fā)技術(shù)和云計(jì)算,包括開源的AngularJS, TypeScript以及Azure App Service。武帥,微軟專家級支持工程師。于2011年加入微軟后一直專注于企業(yè)級應(yīng)用的開發(fā)與技術(shù)咨詢工作,精通ASP.NET MVC, Entity Framework和AngularJS等Web前端技術(shù)。目前主要致力于微軟公有云Azure、Visual Studio Team Service、Xamarin和.NET Core等新興技術(shù)的開發(fā)咨詢與推廣。

圖書目錄

第1章前端開發(fā)測試總覽...2
1.1Web技術(shù)的發(fā)展和挑戰(zhàn)...2
1.2傳統(tǒng)開發(fā)流程的局限性...4
1.3傳統(tǒng)手工測試的局限性...6
1.4開發(fā)模式的轉(zhuǎn)型...7
1.4.1敏捷軟件開發(fā)...7
1.4.2全流程測試...9
1.4.3讓測試自動化...11
1.4.4持續(xù)集成...11
1.4.5DevOps...12
1.5本書目標(biāo)...13
第2章搭建測試基礎(chǔ)環(huán)境...15
2.1JavaScript的運(yùn)行環(huán)境Node.js...15
2.1.1什么是Node.js...15
2.1.2Node.js的版本發(fā)展...17
2.1.3安裝Node.js...18
2.2軟件包管理系統(tǒng)NodePackageManager(npm)...21
2.2.1安裝和更新npm...21
2.2.2package.json...22
2.2.3安裝軟件包...23
2.2.4列出已安裝的軟件包...27
2.3代碼編輯器(VisualStudioCode)...28
目錄
2.3.1安裝VisualStudioCode...28
2.3.2初識VisualStudioCode...29
單元測試篇
第3章單元測試概論...34
3.1單元測試的特性...34
3.2單元測試的重要性...35
3.3測試金字塔...37
3.4測試先行(Test-First)...8
3.4.1測試驅(qū)動開發(fā)(Test-DrivenDevelopment)...39
3.4.2行為驅(qū)動開發(fā)(Behavior-DrivenDevelopment)...40
3.5Web前端測試框架...42
第4章深入Jasmine單元測試...44
4.1初識Jasmine...44
4.1.1獲取Jasmine...44
4.1.2前端單元測試架構(gòu)...46
4.1.3Jasmine測試框架類庫...46
4.2組織測試用例...48
4.2.1describe...48
4.2.2it...49
4.2.3安裝和拆卸...50
4.2.4禁用測試套件和掛起測試用例...54
4.3創(chuàng)建單元測試...55
4.3.1準(zhǔn)備測試場景...55
4.3.2編寫測試用例...56
4.3.3執(zhí)行測試......58
4.4Jasmine的斷言...59
4.4.1內(nèi)置匹配器...59
4.4.2自定義匹配器(CustomMatcher)........................67
4.4.3自定義相等檢驗(yàn)器(CustomEqualityTester)
..................68
4.4.4非對稱相等檢驗(yàn)器(AsymmetricEqualityTester)...............70
4.4.5輔助匹配函數(shù)...71
4.5測試替身(TestDouble)...74
4.5.1測試替身的類型...74
4.5.2使用JasmineSpies......77
4.6測試異步代碼...84
4.6.1Jasmine的異步支持...87
4.6.2模擬JavaScriptTimeout相關(guān)函數(shù)...........................89
4.7Jasmine插件...90
4.7.1jasmine-ajax...90
4.7.2jasmine-jquery...94
4.8基于瀏覽器調(diào)試......100
第5章單元測試執(zhí)行工具Karma..............................102
5.1初識Karma...102
5.2安裝Karma和相關(guān)插件...104
5.2.1安裝Karma...104
5.2.2安裝插件...105
5.3Karma的配置...106
5.3.1生成配置文件...106
5.3.2配置文件的說明......107
5.4基于Karma的調(diào)試...115
5.5前端自動化任務(wù)構(gòu)建工具..............................116
5.5.1gulp和Grunt...116
5.5.2gulp的API...118
5.5.3運(yùn)行g(shù)ulp任務(wù)...122
5.6Karma和gulp集成...123
第6章AngularJS應(yīng)用的單元測試...........................125
6.1測試AngularJS應(yīng)用的挑戰(zhàn)..............................125
6.2初識ngMock...127
6.2.1準(zhǔn)備測試環(huán)境...127
6.2.2理解模塊(Module)...128
6.2.3理解注入機(jī)制(Inject)
...131
6.3AngularJS單元測試最佳實(shí)踐...........................138
6.3.1測試Controller...138
6.3.2單元測試中的Scope...142
6.3.3測試HTTP交互...144
6.3.4測試Directive...154
6.3.5測試$timeout和$interval...166
6.3.6測試Promise...171
6.3.7測試$log......174
6.3.8測試$exceptionHandler...175
第7章代碼覆蓋率...177
7.1代碼覆蓋率的衡量標(biāo)準(zhǔn)...177
7.1.1函數(shù)覆蓋率(FunctionCoverage)........................177
7.1.2語句覆蓋率(StatementCoverage)
........................178
7.1.3分支覆蓋率(BranchCoverage)........................179
7.1.4條件覆蓋率(ConditionCoverage)........................179
7.2代碼覆蓋率的意義...179
7.3JavaScript代碼覆蓋率工具Istanbul........................180
7.3.1安裝Istanbul...181
7.3.2覆蓋率測試...181
7.3.3覆蓋率閾值...183
7.3.4忽略代碼...183
7.3.5Istanbul工作原理......184
7.4使用Karma生成覆蓋率報(bào)告...........................185
自動化測試篇
第8章走進(jìn)自動化測試...188
8.1自動化測試的優(yōu)勢...188
8.2自動化測試實(shí)施流程...189
8.3自動化測試轉(zhuǎn)型的適應(yīng)性..............................190
8.4測試工具的選擇......192
第9章初識Selenium...194
9.1Selenium發(fā)展歷史...194
9.2Selenium工具套裝...196
9.2.1SeleniumRC...196
9.2.2SeleniumWebDriver...197
9.2.3SeleniumGrid...198
9.2.4SeleniumIDE...198
第10章SeleniumWebDriver與元素定位........................205
10.1搭建集成開發(fā)環(huán)境...205
10.2NUnit測試框架......207
10.3編寫測試用例...209
10.4使用工廠模式創(chuàng)建驅(qū)動對象...........................212
10.5定位頁面元素...214
10.5.1基于id定位...214
10.5.2基于Name定位...215
10.5.3基于ClassName定位...216
10.5.4基于TagName定位...217
10.5.5基于LinkText定位...217
10.5.6基于PartialLinkText定位...218
10.5.7基于CssSelector定位...219
10.5.8基于XPath定位......220
第11章基于WebDriver的Protractor測試框架..................227
11.1WebDriver的JavaScript綁定...........................227
11.1.1WebDriverJs與Protractor...228
11.1.2Protractor特點(diǎn)概述...229
11.1.3Protractor的兼容性...230
11.2搭建Protractor測試環(huán)境...230
11.2.1安裝Protractor編輯器擴(kuò)展..............................230
11.2.2準(zhǔn)備AngularJS被測網(wǎng)站...231
11.2.3全局安裝Protractor與瀏覽器驅(qū)動........................234
11.2.4本地安裝Protractor與瀏覽器驅(qū)動........................235
11.2.5編寫測試代碼...235
11.2.6編寫配置文件...236
11.2.7運(yùn)行測試用例...236
11.2.8調(diào)試......237
11.3選擇JavaScript測試框架..............................240
11.3.1配置JavaScript測試框架...240
11.3.2JavaScript測試框架的適配器...241
11.4定位頁面元素...244
11.4.1基于binding定位......245
11.4.2基于model定位......246
11.4.3基于options定位......246
11.4.4基于buttonText定位...247
11.4.5基于repeater定位...247
11.4.6基于js定位...248
11.4.7鏈?zhǔn)秸{(diào)用定位操作...249
11.4.8使用$和$$...250
11.4.9自定義定位策略......251
11.5異步流程控制...252
11.5.1使用Promise...253
11.5.2定制的ControlFlow...256
11.5.3JavaScript測試框架的異步適配器........................259
11.6頁面交互...260
11.6.1操作瀏覽器...260
11.6.2操作元素...263
11.7Protractor的等待機(jī)制...265
11.7.1waitForAngular...265
11.7.2使用sleep...266
11.7.3隱式等待...266
11.7.4顯式等待...267
11.8測試非AngularJS程序...269
第12章使用SeleniumServer...273
12.1SeleniumServer環(huán)境配置..............................273
12.1.1安裝JavaJDK...274
12.1.2下載SeleniumServerStandalone........................275
12.1.3下載瀏覽器驅(qū)動......276
12.1.4配置Protractor...276
12.1.5啟動SeleniumServer...277
12.2JSONWireProtocol與W3CWebDriver標(biāo)準(zhǔn)..................279
12.3Selenium3.0...282
12.4配置瀏覽器...282
12.4.1Chrome......285
12.4.2Firefox......285
12.4.3Edge......288
12.4.4IE.........289
12.4.5多瀏覽器測試...291
第13章自動化測試最佳實(shí)踐...294
13.1頁面對象模型...294
13.1.1關(guān)注點(diǎn)分離...295
13.1.2實(shí)現(xiàn)Protractor頁面對象...296
13.1.3頁面對象最佳實(shí)踐...306
13.2數(shù)據(jù)驅(qū)動測試...307
13.3測試報(bào)告...311
13.3.1控制臺報(bào)告...312
13.3.2JUnit報(bào)告...313
13.3.3HTML報(bào)告...315
13.4性能測試...316
13.5圖像匹配...319
13.6任務(wù)自動化...322
13.6.1與gulp集成...322
13.6.2npm腳本...325
第14章分布式自動化測試...327
14.1分布式測試概述...327
14.2基于SeleniumGrid的分布式測試........................328
14.2.1啟動中央節(jié)點(diǎn)...329
14.2.2注冊工作節(jié)點(diǎn)...329
14.2.3執(zhí)行測試...331
14.3基于云計(jì)算的分布式測試...........................333
14.4配置共享...336
集成篇
第15章持續(xù)集成概論...340
15.1開發(fā)流程自動化...340
15.1.1什么是持續(xù)集成......341
15.1.2持續(xù)集成的價值......341
15.2持續(xù)集成的功能特征...343
15.2.1編譯......343
15.2.2測試......344
15.2.3審計(jì)......344
15.2.4部署......345
15.2.5反饋......345
15.3如何實(shí)施持續(xù)集成...345
15.3.1消除誤解...345
15.3.2前提條件...346
15.3.3CI工具......347
15.3.4實(shí)踐準(zhǔn)則...348
15.4選擇持續(xù)集成工具...350
第16章持續(xù)測試......352
16.1測試策略...352
16.2基于Jenkins的持續(xù)集成...353
16.3集成TeamFoundationServer...........................356
16.3.1創(chuàng)建項(xiàng)目...356
16.3.2從VisualStudioCode提交變更...........................358
16.3.3配置TFS插件...359
16.3.4創(chuàng)建并配置Jenkins構(gòu)建項(xiàng)..............................360
16.3.5集成單元測試...364
16.3.6集成自動化測試......368
16.3.7郵件反饋...370
16.4集成VisualStudioTeamServices........................371
16.5集成GitHub...376
16.5.1配置GitHub...377
16.5.2配置Jenkins...379
16.5.3配置構(gòu)建任務(wù)...380

本目錄推薦

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