• Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的

27 3.9折 69 全新

库存2件

河北保定
认证卖家担保交易快速发货售后保障

作者金鑫 著

出版社清华大学出版社

出版时间2017-08

版次1

装帧平装

货号9787302472759

上书时间2024-11-23

尚贤文化山东分店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 金鑫 著
  • 出版社 清华大学出版社
  • 出版时间 2017-08
  • 版次 1
  • ISBN 9787302472759
  • 定价 69.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 381页
  • 字数 497千字
  • 正文语种 简体中文
【内容简介】

  全书共分为四部分。一部分为基础篇,总览了前端开发测试中的挑战与测试转型,介绍了测试基础环境的搭建;第二部分为单元测试篇,深入介绍了如何基于Jasmine单元测试框架和gulp、Karma等构建、执行工具对前端JavaScript代码进行单元测试,以及AngularJS单元测试的实践和代码覆盖率等;第三部分为自动化测试篇,基于Protractor介绍了在Node.js环境下通过Selenium WebDriver全面覆盖各个主流浏览器,进行自动化测试的实践,包括页面对象模型、性能测试和分布式测试等;第四部分为集成篇,阐述了基于持续集成以实现更快、更可靠的软件交付,展示了如何通过Jenkins与TFS、VSTS和GitHub的集成,实现Web应用的持续测试。

【作者简介】

  金鑫,微软专家级工程师,目前和微软平台即服务产品(PaaS)Azure App Service的产品组合作,为微软Azure App Service的支持工程师提供技术咨询、解决方案和自动化诊断工具。自2000年加入微软亚太区全球技术支持中心以来一直专注于企业级Web应用和分布式系统,精通IIS,ASP.NET,Windows Workflow Foundation, COM+ 等技术。最近几年致力于现代Web开发技术和云计算,包括开源的AngularJS, TypeScript以及Azure App Service。  武帅,微软专家级支持工程师。于2011年加入微软后一直专注于企业级应用的开发与技术咨询工作,精通ASP.NET MVC, Entity Framework和AngularJS等Web前端技术。目前主要致力于微软公有云Azure、Visual Studio Team Service、Xamarin和.NET Core等新兴技术的开发咨询与推广。

【目录】

第1章前端开发测试总览...2

 

1.1Web技术的发展和挑战...2

 

1.2传统开发流程的局限性...4

 

1.3传统手工测试的局限性...6

 

1.4开发模式的转型...7

 

1.4.1敏捷软件开发...7

 

1.4.2全流程测试...9

 

1.4.3让测试自动化...11

 

1.4.4持续集成...11

 

1.4.5DevOps...12

 

1.5本书目标...13

 

第2章搭建测试基础环境...15

 

2.1JavaScript的运行环境Node.js...15

 

2.1.1什么是Node.js...15

 

2.1.2Node.js的版本发展...17

 

2.1.3安装Node.js...18

 

2.2软件包管理系统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测试驱动开发(Test-DrivenDevelopment)...39

 

3.4.2行为驱动开发(Behavior-DrivenDevelopment)...40

 

3.5Web前端测试框架...42

 

第4章深入Jasmine单元测试...44

 

4.1初识Jasmine...44

 

4.1.1获取Jasmine...44

 

4.1.2前端单元测试架构...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创建单元测试...55

 

4.3.1准备测试场景...55

 

4.3.2编写测试用例...56

 

4.3.3执行测试......58

 

4.4Jasmine的断言...59

 

4.4.1内置匹配器...59

 

4.4.2自定义匹配器(CustomMatcher)........................67

 

4.4.3自定义相等检验器(CustomEqualityTester)

 

..................68

 

4.4.4非对称相等检验器(AsymmetricEqualityTester)...............70

 

4.4.5辅助匹配函数...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相关函数...........................89

 

4.7Jasmine插件...90

 

4.7.1jasmine-ajax...90

 

4.7.2jasmine-jquery...94

 

4.8基于浏览器调试......100

 

第5章单元测试执行工具Karma..............................102

 

5.1初识Karma...102

 

5.2安装Karma和相关插件...104

 

5.2.1安装Karma...104

 

5.2.2安装插件...105

 

5.3Karma的配置...106

 

5.3.1生成配置文件...106

 

5.3.2配置文件的说明......107

 

5.4基于Karma的调试...115

 

5.5前端自动化任务构建工具..............................116

 

5.5.1gulp和Grunt...116

 

5.5.2gulp的API...118

 

5.5.3运行gulp任务...122

 

5.6Karma和gulp集成...123

 

第6章AngularJS应用的单元测试...........................125

 

6.1测试AngularJS应用的挑战..............................125

 

6.2初识ngMock...127

 

6.2.1准备测试环境...127

 

6.2.2理解模块(Module)...128

 

6.2.3理解注入机制(Inject)

 

...131

 

6.3AngularJS单元测试最佳实践...........................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代码覆盖率的衡量标准...177

 

7.1.1函数覆盖率(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生成覆盖率报告...........................185

 

自动化测试篇

 

第8章走进自动化测试...188

 

8.1自动化测试的优势...188

 

8.2自动化测试实施流程...189

 

8.3自动化测试转型的适应性..............................190

 

8.4测试工具的选择......192

 

第9章初识Selenium...194

 

9.1Selenium发展历史...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搭建集成开发环境...205

 

10.2NUnit测试框架......207

 

10.3编写测试用例...209

 

10.4使用工厂模式创建驱动对象...........................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特点概述...229

 

11.1.3Protractor的兼容性...230

 

11.2搭建Protractor测试环境...230

 

11.2.1安装Protractor编辑器扩展..............................230

 

11.2.2准备AngularJS被测网站...231

 

11.2.3全局安装Protractor与浏览器驱动........................234

 

11.2.4本地安装Protractor与浏览器驱动........................235

 

11.2.5编写测试代码...235

 

11.2.6编写配置文件...236

 

11.2.7运行测试用例...236

 

11.2.8调试......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链式调用定位操作...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的等待机制...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环境配置..............................273

 

12.1.1安装JavaJDK...274

 

12.1.2下载SeleniumServerStandalone........................275

 

12.1.3下载浏览器驱动......276

 

12.1.4配置Protractor...276

 

12.1.5启动SeleniumServer...277

 

12.2JSONWireProtocol与W3CWebDriver标准..................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章自动化测试最佳实践...294

 

13.1页面对象模型...294

 

13.1.1关注点分离...295

 

13.1.2实现Protractor页面对象...296

 

13.1.3页面对象最佳实践...306

 

13.2数据驱动测试...307

 

13.3测试报告...311

 

13.3.1控制台报告...312

 

13.3.2JUnit报告...313

 

13.3.3HTML报告...315

 

13.4性能测试...316

 

13.5图像匹配...319

 

13.6任务自动化...322

 

13.6.1与gulp集成...322

 

13.6.2npm脚本...325

 

第14章分布式自动化测试...327

 

14.1分布式测试概述...327

 

14.2基于SeleniumGrid的分布式测试........................328

 

14.2.1启动中央节点...329

 

14.2.2注册工作节点...329

 

14.2.3执行测试...331

 

14.3基于云计算的分布式测试...........................333

 

14.4配置共享...336

 

集成篇

 

第15章持续集成概论...340

 

15.1开发流程自动化...340

 

15.1.1什么是持续集成......341

 

15.1.2持续集成的价值......341

 

15.2持续集成的功能特征...343

 

15.2.1编译......343

 

15.2.2测试......344

 

15.2.3审计......344

 

15.2.4部署......345

 

15.2.5反馈......345

 

15.3如何实施持续集成...345

 

15.3.1消除误解...345

 

15.3.2前提条件...346

 

15.3.3CI工具......347

 

15.3.4实践准则...348

 

15.4选择持续集成工具...350

 

第16章持续测试......352

 

16.1测试策略...352

 

16.2基于Jenkins的持续集成...353

 

16.3集成TeamFoundationServer...........................356

 

16.3.1创建项目...356

 

16.3.2从VisualStudioCode提交变更...........................358

 

16.3.3配置TFS插件...359

 

16.3.4创建并配置Jenkins构建项..............................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配置构建任务...380

 


点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP