《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章

2星(超过40%的资源)
所需积分/C币:50 2018-04-09 11:50:51 4.92MB PDF
63
收藏 收藏
举报

全书共分为四部分。第一部分为基础篇,总览了前端开发测试中的挑战与测试转型,介绍了测试基础环境的搭建;第二部分为单元测试篇,深入介绍了如何基于Jasmine单元测试框架和gulp、Karma等构建、执行工具对前端JavaScript代码进行单元测试,以及AngularJS单元测试的最佳实践和代码覆盖率等;第三部分为自动化测试篇,基于Protractor介绍了在Node.js环境下通过Selenium WebDriver全面覆盖各个主流浏览器,进行自动化测试的最佳实践,包括页面对象模型、性能测试和分布式测试等;第四部分为集成篇,阐述了基于持续集成以实现更快、更可靠的软件交付,展示了如何通过Jenkins与TFS、VSTS和GitHub的集成,实现Web应用的持续测试。
利言 笔者多年来一直在微软公司从事与Web开发相关的技术工作,帮助客户维护和处理各 种web应用的突发事件,期间走访了大量客户,为他们提供解决方案或指导意见。我们深 深感受到近些年来Web技术的快速发展对Web开发人员、测试人员带来的诸多挑战: ●Web开发是一个开放的、不断演进的、高速迭代的领域。即便是过去一直被诟病 为封闭的微软公司也开始拥抱开源世界,提供 NET Core、 TypeScript等多项开源和 跨平台技术。这对于过去长期在单一厂商平台上进行项目开发的技术人员而言, 就更需要积极主动地学习新技术,接受新挑战,以适应变化,满足业务需求 ●基于 JavaScript的前端应用规模越来越大,功能越来越复杂,前端测试已经成为 保证产品质量的关键因素。同时,由于Web开发存在测试周期短、更新频繁的特 点,传统测试人员需要具备一定的开发能力才能充分利用自动化测试工具来提高 测试效率。 ●随着敏捷软件开发方法和υεvops的流行,测试和开发环节之间的界限逐渐变得模 糊。传统开发人员需要了解一定的测试方法并具有相应的思维方式,才能设计出 良好的测试用例。由于测试和开发环节的融合,无论是开发人员还是测试人员都 需要不断提高自身的能力和价值 本书是笔者在开发测试领域中的实践与经验的总结,希望读者通过对本书的学习,能 够掌握Web前端测试的各种技巧,提升自己的能力,迎接新技术的挑战 本书内容 全书共分四个部分,前两部分为金鑫编写,后两部分为武帅编写。 第一部分为基础篇(第1~2章),总览了前端开发测试中的挑战与进行测试转型 的方法,以及基于 Node. js搭建测试开发基础环境的步骤 ●第二部分为单元测试篇(第3~7章),基于单元测试理论深入剖析了 Jasmine测试 框架的结构与各种使用范式,内容覆盖了所有主流单元测试的技巧。然后,结合 ll|web前端测试与集成—— Jasmine/ Selenium/ Protractor/Jenkins的最佳实践 gulp、 Karma等构建、执行工具对单元测试进行自动化处理。最后以实战的形式演 示了 AngularIS单元测试最佳实践以及 stanbul代码覆盖率的应用等内容。 第三部分为自动化测试篇(第8~14章),由浅入深地介绍了 Selenium各个组件的 功能特点和 WebDriⅳver在自动化测试中的使用技巧。进而基于 Protractor深入介绍了 在 Node. js环境下,通过 JavaScript代码结合 Webdriver进行自动化测试,并全面覆盖 Chrome、 Firefox、I和Edge等主流浏览器的最佳实践,内容包括页面对象模型、 性能测试、数据驱动测试和分布式测试等 ●第四部分为集成篇(第15~16章),阐述了基于持续集成技术来实现更快、更可 靠的软件交付方法,比较了当前主流CI系统的特点,展示了通过 Jenkins与TFS VSTS和 GitHub集成来实现Web应用持续测试的方法 本书适合对象 本书适合所有Web开发人员、测试人员和项目经理做学习、参考之用。本书涉及的示 例代码,读者可从网址htp: github. com/ Frontendtesting/ webtesting- book-demo处下载,供 对照学习。 致谢 首先,感谢家人对我们利用业余时间编写本书的理解,在漫长的编写过程中始终给予 关爱和支持。其次,感谢张量、毛蔚、徐春林和顾洁等微软公司同事的大力鼓励与支持, 本书的成书与他们密不可分。 由于笔者学识有限,时间仓促,书中难免出现错误或疏漏,恳请广大读者不吝指正 如果悠有什么宝贵意见,请发送邮件至 JIn xin20 outlook. com,我们将不胜感激 目录 基础篇 第1章前端开发测试总览… ········· 1.1Web技术的发展和挑战 1.2传统开发流程的局限性 3传统手工测试的局限性 6 1.4开发模式的转型… ··········+··· ··············· …………7 1.4.1敏捷软件开发 14.2全流程测试… 14.3让测试自动化 1.44持续集成… 1. 4.5 DevOps ········ 12 1.5本书目标 第2章搭建测试基础环境 15 21 JavaScript的运行环境 Node. js 15 211什么是 Node. js… 15 212 Node. js的版本发展 213安装 Node. js…… 18 22软件包管理系统 Node package manager(npm)… 22.1安装和更新 npm 2.2.2 package.json 22 223安装软件包 23 224列出已安装的软件包 27 2.3代码编辑器( Visual studio code) 28 Ⅳ|web前端测试与集成—— Jasmine/ Selenium/ Protractor/ Jenkins的最佳实践 23.1安装Ⅴ isual Studio code… 28 232初识Ⅴ isual Studio Code… 单元测试篇 第3章单元测试概论 3.1单元测试的特性… 3.2单元测试的重要性… …35 3.3测试金字塔… 37 34测试先行(Test- First) 38 341测试驱动开发(Test- Driven Development) 34.2行为驱动开发( Behavior- Driven Development)… 40 3.5web前端测试框架 第4章深入 Jasmine单元测试 44 4.1初识 Jasmine… 4.1.1获取 Jasmine ……44 4.1.2前端单元测试架构 46 4.1.3 Jasmine测试框架类库 46 4,2组织测试用例 48 4.2.1 describe 48 4.2.2it …49 4.2.3安装和拆卸… 50 4.2.4禁用测试套件和挂起测试用例 54 .3创建单元测试 · 4.3.1准备测试场景 55 4.3.2编写测试用例 ·.··,···, 4.3.3执行测试 58 44 Jasmine的断言… 59 44.1内置匹配器 ……59 4.42自定义匹配器( Custom matcher) 6 目录|V 443自定义相等检验器( Custom Equality Tester 444非对称相等检验器( Asymmetric Equality Tester)… 70 4.4.5辅助匹配函数 4.5测试替身( Test double)… 74 4.5.1测试替身的类型 74 4.5.2使用 Jasmine spies 77 46测试异步代码 84 4.6.1 Jasmine的异步支持 …………87 4.6.2模拟 JavaScript Timeout相关函数 89 47 Jasmine插件… …90 4.7.1 jasmine -ajax 90 4.7.2 Jasmine-]query… 94 48基于浏览器调试 ……100 第5章单元测试执行工具 Karma ······· …………102 5.1初识 Karma 102 5.2安装 Karma和相关插件……… ············:······· ……104 521安装Kama………… · 104 522安装插件… 105 53 Karma的配置… 106 5.3.1生成配置文件 106 5.3.2配置文件的说明 107 54基于 Karma的调试 115 5.5前端自动化任务构建工具… ………116 55.1gulp和 116 2gulp的API 5.53运行gup任务… ·· 122 56Kama和gulp集成 123 第6章 AngularIs应用的单元测试 …125 6.1测试 AngularIS应用的挑战 …125 Ⅵl|web前端测试与集成—— Jasmine selenium/ Protractor/Jenkins的最佳实践 62初识 ngMock…… 127 6.2.1准备测试环境… 127 6.2.2理解模块( Module) 128 6.2.3理解注入机制( Inject)… 63 AngularJS单元测试最佳实践 138 6.3.1测试 Controller …138 632单元测试中的 Scope 142 633测试HTTP交互 144 6.34测试 Directive 154 6.3.5测试 Timeout和$ interval… 166 6.3.6测试 Promise 171 63.7测试Slog 174 638测试 Exception Handler… …175 第7章代码覆盖率……………………177 7.1代码覆盖率的衡量标准 177 7.1.1函数覆盖率( Function Coverage)… 177 7.1.2语句覆盖率( Statement Coverage) 178 7.13分支覆盖率( Branch Coverage)… ………………179 7.14条件覆盖率( Condition Coverage) 179 7.2代码覆盖率的意义 …179 73 JavaScript代码覆盖率工具 Istanbul 单非 …180 7.3.1安装 Istanbul… 181 732覆盖率测试… …181 7.3.3覆盖率阈值…… 183 7.34忽略代码 183 7.3.5 Istanbul工作原理 …184 7.4使用 Karma生成覆盖率报告… 185 目录|Ⅶl 自动化测试篇 第8章走进自动化测试 …188 8.1自动化测试的优势 188 8.2自动化测试实施流程 189 8.3自动化测试转型的适应性 …190 84测试工具的选择… 第9章初识 Selenium… 194 91 Selenium发展历史 …194 92 Selenium工具套装… 196 9.2.1 Selenium rc 196 9.2.2 Selenium Web driver 197 9.2.3 Selenium grid………… 198 9. 2. 4 Selenium Ide 198 第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.52基于Name定位 215 10.5.3基于 ClassName定位 216 10.54基于 Tag Name定位 217 10.55基于 Linktex定位 ·.··,···, …217 10.56基于 PartialLink text定位 218 10.5.7基于 Css Selector定位 219 10.58基于 XPath定位… ……220 VⅢ IWeb前端测试与集成— Jasmine/selenium/ Protractor/ Jenkins的最佳实践 第11章基于 Web driver的 Protractor测试框架 …227 WebDriⅤer的 Javascript 绑定 ……227 111.1 Web Drivers与 Protractor……………………… 228 111.2 Protractor特点概述 229 111.3 Protractor的兼容性…… ········ …230 11.2搭建 Protractor测试环境 230 11.2.1安装 Protractor编辑器扩展 230 112.2准备 AngularIS被测网站… 231 11.2.3全局安装 Protractor与浏览器驱动 1124本地安装 Protractor与浏览器驱动… 235 112.5编写测试代码 235 11.2.6编写配置文件 236 11.2.7运行测试用例… ·.··,···, 236 112.8调试 237 113选择 Javascript测试框架 ……240 1.3.1配置 JavaScript测试框架… ……240 113.2 Javascript测试框架的适配器 241 114定位页面元素……… 244 11.1基于 binding定位 …245 114.2基于 model定位 246 114.3基于 options定位 …246 114.4基于 buttontex定位… 247 11.5基于 repeater定位 247 11.6基于js定位 248 1147链式调用定位操作… 249 1148使用$和$s ················*··········:··.············ )5 0 11.4.9自定义定位策略…… 251 11.5异步流程控制 …252 11.5.1使用 Promise ……253 11.5.2定制的 Controlflow… 256

...展开详情
试读 127P 《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
qq_20406729 前五章还要积分,清华出版社的链接我给上,别浪费积分下载了,人家出版社免费前五章:http://www.tup.com.cn/upload/books/yz/073070-01.pdf
2019-08-23
回复
HiH2010 只有前五章,
2019-08-22
回复
垃圾狗007 连一半都没有的数据,都别下了,浪费
2018-09-21
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • GitHub

  • 签到达人

  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章 50积分/C币 立即下载
1/127
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第1页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第2页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第3页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第4页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第5页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第6页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第7页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第8页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第9页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第10页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第11页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第12页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第13页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第14页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第15页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第16页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第17页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第18页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第19页
《Web前端测试与集成——Jasmine/Selenium/Protractor/Jenkins的最佳实践》前五章第20页

试读结束, 可继续阅读

50积分/C币 立即下载