图书介绍
Web前端测试与集成 Jasmine/Selenium/Protractor/Jenkins的最佳实践PDF|Epub|txt|kindle电子书版本网盘下载
- 金鑫,武帅编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302472759
- 出版时间:2017
- 标注页数:381页
- 文件大小:46MB
- 文件页数:397页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Web前端测试与集成 Jasmine/Selenium/Protractor/Jenkins的最佳实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
基础篇2
第1章 前端开发测试总览2
1.1 Web技术的发展和挑战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.5 DevOps12
1.5 本书目标13
第2章 搭建测试基础环境15
2.1 JavaScript的运行环境Node.js15
2.1.1 什么是Node.js15
2.1.2 Node.js的版本发展17
2.1.3 安装Node.js18
2.2 软件包管理系统Node Package Manager(npm)21
2.2.1 安装和更新npm21
2.2.2 package.json22
2.2.3 安装软件包23
2.2.4 列出已安装的软件包27
2.3 代码编辑器(Visual Studio Code)28
2.3.1 安装Visual Studio Code28
2.3.2 初识Visual Studio Code29
单元测试篇34
第3章 单元测试概论34
3.1 单元测试的特性34
3.2 单元测试的重要性35
3.3 测试金字塔37
3.4 测试先行(Test-First)38
3.4.1 测试驱动开发(Test-Driven Development)39
3.4.2 行为驱动开发(Behavior-Driven Development)40
3.5 Web前端测试框架42
第4章 深入Jasmine单元测试44
4.1 初识Jasmine44
4.1.1 获取Jasmine44
4.1.2 前端单元测试架构46
4.1.3 Jasmine测试框架类库46
4.2 组织测试用例48
4.2.1 describe48
4.2.2 it49
4.2.3 安装和拆卸50
4.2.4 禁用测试套件和挂起测试用例54
4.3 创建单元测试55
4.3.1 准备测试场景55
4.3.2 编写测试用例56
4.3.3 执行测试58
4.4 Jasmine的断言59
4.4.1 内置匹配器59
4.4.2 自定义匹配器(Custom Matcher)67
4.4.3 自定义相等检验器(Custom Equality Tester)68
4.4.4 非对称相等检验器(Asymmetric Equality Tester)70
4.4.5 辅助匹配函数71
4.5 测试替身(Test Double)74
4.5.1 测试替身的类型74
4.5.2 使用Jasmine Spies77
4.6 测试异步代码84
4.6.1 Jasmine的异步支持87
4.6.2 模拟JavaScript Timeout相关函数89
4.7 Jasmine插件90
4.7.1 jasmine-ajax90
4.7.2 jasmine-jquery94
4.8 基于浏览器调试100
第5章 单元测试执行工具Karma102
5.1 初识Karma102
5.2 安装Karma和相关插件104
5.2.1 安装Karma104
5.2.2 安装插件105
5.3 Karma的配置106
5.3.1 生成配置文件106
5.3.2 配置文件的说明107
5.4 基于Karma的调试115
5.5 前端自动化任务构建工具116
5.5.1 gulp和Grunt116
5.5.2 gulp的API118
5.5.3 运行gulp任务122
5.6 Karma和gulp集成123
第6章 AngularJS应用的单元测试125
6.1 测试AngularJS应用的挑战125
6.2 初识ngMock127
6.2.1 准备测试环境127
6.2.2 理解模块(Module)128
6.2.3 理解注入机制(Inject)131
6.3 AngularJS单元测试最佳实践138
6.3.1 测试Controller138
6.3.2 单元测试中的Scope142
6.3.3 测试HTTP交互144
6.3.4 测试Directive154
6.3.5 测试$timeout和$interval166
6.3.6 测试Promise171
6.3.7 测试$log174
6.3.8 测试$exceptionHandler175
第7章 代码覆盖率177
7.1 代码覆盖率的衡量标准177
7.1.1 函数覆盖率(Function Coverage)177
7.1.2 语句覆盖率(Statement Coverage)178
7.1.3 分支覆盖率(Branch Coverage)179
7.1.4 条件覆盖率(Condition Coverage)179
7.2 代码覆盖率的意义179
7.3 JavaScript代码覆盖率工具Istanbul180
7.3.1 安装Istanbul181
7.3.2 覆盖率测试181
7.3.3 覆盖率阈值183
7.3.4 忽略代码183
7.3.5 Istanbul工作原理184
7.4 使用Karma生成覆盖率报告185
自动化测试篇188
第8章 走进自动化测试188
8.1 自动化测试的优势188
8.2 自动化测试实施流程189
8.3 自动化测试转型的适应性190
8.4 测试工具的选择192
第9章 初识Selenium194
9.1 Selenium发展历史194
9.2 Selenium工具套装196
9.2.1 Selenium RC196
9.2.2 Selenium WebDriver197
9.2.3 Selenium Grid198
9.2.4 Selenium IDE198
第10章 Selenium WebDriver与元素定位205
10.1 搭建集成开发环境205
10.2 NUnit测试框架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.1 WebDriver的JavaScript绑定227
11.1.1 WebDriverJs与Protractor228
11.1.2 Protractor特点概述229
11.1.3 Protractor的兼容性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.2 JavaScript测试框架的适配器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 使用Promise253
11.5.2 定制的ControlFlow256
11.5.3 JavaScript测试框架的异步适配器259
11.6 页面交互260
11.6.1 操作浏览器260
11.6.2 操作元素263
11.7 Protractor的等待机制265
11.7.1 waitForAngular265
11.7.2 使用sleep266
11.7.3 隐式等待266
11.7.4 显式等待267
11.8 测试非AngularJS程序269
第12章 使用Selenium Server273
12.1 Selenium Server环境配置273
12.1.1 安装Java JDK274
12.1.2 下载Selenium Server Standalone275
12.1.3 下载浏览器驱动276
12.1.4 配置Protractor276
12.1.5 启动Selenium Server277
12.2 JSON Wire Protocol与W3C WebDriver标准279
12.3 Selenium 3.0282
12.4 配置浏览器282
12.4.1 Chrome285
12.4.2 Firefox285
12.4.3 Edge288
12.4.4 IE289
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.2 JUnit报告313
13.3.3 HTML报告315
13.4 性能测试316
13.5 图像匹配319
13.6 任务自动化322
13.6.1 与gulp集成322
13.6.2 npm脚本325
第14章 分布式自动化测试327
14.1 分布式测试概述327
14.2 基于Selenium Grid的分布式测试328
14.2.1 启动中央节点329
14.2.2 注册工作节点329
14.2.3 执行测试331
14.3 基于云计算的分布式测试333
14.4 配置共享336
集成篇340
第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.3 CI工具347
15.3.4 实践准则348
15.4 选择持续集成工具350
第16章 持续测试352
16.1 测试策略352
16.2 基于Jenkins的持续集成353
16.3 集成Team Foundation Server356
16.3.1 创建项目356
16.3.2 从Visual Studio Code提交变更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 集成Visual Studio Team Services371
16.5 集成GitHub376
16.5.1 配置GitHub377
16.5.2 配置Jenkins379
16.5.3 配置构建任务380