首页>参考读物>计算机科学与技术>计算机网络

Web自动化测试与Selenium 3.0从入门到实践
作者 : 郎珑融 编著
出版日期 : 2020-08-11
ISBN : 978-7-111-66153-5
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 296
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书由浅入深,结合大量实际案例,重点讲解Selenium WebDriver在企业中的应用与实践。
本书分为三部分:第一部分为基础篇(第1、2章)主要讲解自动化基础理论、常用开发工具、安装及环境搭建;第二部分为入门篇(第3~8章),主要讲解企业常用技术Maven、Git的使用,并以丰富的实战案例讲解WebDriver的入门实例、页面的元素定位方法及常用API的使用方法;第三部分为进阶篇(第9~14章),主要讲解数据驱动测试、PageObject设计模式、自动化测试框架的搭建与持续集成、行为驱动测试框架的使用及分布式并行测试的使用。

图书特色

企业主流技术Maven、Git的实际操作
数据驱动框架及Page Object设计模式的实际应用
自动化测试框架的搭建与持续集成的实际应用
行为驱动测试框架及分布式测试Selenium Gird的实际应用

图书前言

我一直相信,世界上所有的相遇都是由心而生、由缘而起的。很高兴认识你,我是融融!
当你打开本书,也许会感受到我此刻无比复杂的心情。
我应该算是一个努力且幸运的人。和很多大学生一样,在培训机构学习后,我便去了北京,跨专业就业让我对IT行业的一切既好奇又陌生。在我刚工作一年多的时间,承蒙恩师的照顾,我学会了很多技术。虽然在开发、运维、测试3个方面都有涉猎,但从未真正做过测试。后来经过慎重考虑选择做测试。
随后我加入第二家公司,几次因用例的设计、编写不合格而在被劝退的边缘徘徊。幸运的是,组长每次都会帮我审核用例并加批注。通过自己的努力以及不断积累,后来写的用例就不再有问题了。一次偶然的机会,看到了组长分享的Selenium WebDriver的PDF学习文档,自此开启了我的自动化之路。
我曾经使用.Net,学习基于Java语言的开发,但由于我的Java基础不是很好,而Python语言简单易上手,便自学了Python自动化。当我能熟练使用Python编写主流程自动化脚本时,恰巧被副总发现,让我多了一次熟悉并使用原同事所构建的框架的机会,这意味着自己又有机会强化Java技术了。后来,我制订了学习计划,边学Java边熟悉框架。熟悉以后,便开始重构框架,慢慢地把这个测试框架重构成自己的风格。
由于我是自学自动化测试的,自然遇到了各式各样的问题。机缘巧合加了一个QQ技术交流群,每次看到群里讨论新技术,自己心里都痒痒的。当时并不知道他们谈论的技术是什么,但是我很清楚一点,如果学会了他们谈论的技术,就能缩小与他们的差距。我每天坚持整理学习中遇到的问题,并在群里询问,解决后,便加上自己的理解写到博客中。
真正的稳定需要自己的能力不断提升,而不是坐在一张凳子上不断重复昨日的时光。
就这样,随着时间的推移,我养成了写博客的习惯。现在不定期在公众号上写技术文章,分享给更多网友。
我从未想过自己会出一本书,直到出版社找到了我,签了合同后,还是很担心自己能否完成。
随着一章又一章写下来,我特别开心。没想到自己能在自学之路上走这么远,坚持这么多年,且逐渐形成了有自己风格的自学体系。
“文章合为时而著,歌诗合为事而作。”第一次当作者,才知晓白居易这句话的含义。著书不易,担心误工,我舍弃了很多,耗时半年之久才完成。为了使读者更好地理解与实践,本书的案例中加入了详细的设计和插图描述。希望本书的价值能在读者身上得到体现,同时也期待各位读者的喜爱与支持。在此感谢我的家人,是他们给了我巨大的鼓励与支持!
不放弃,努力地追寻下去,太阳会给你光亮,土壤会给你营养,终有一天,你会俯瞰全世界!
我本是一个愚者,但好在有幸运相伴,经过努力,积累经验,提升能力,我走到了这里,未来还在等我追寻。我希望读者也能找到人生旅程的方向,不断沉淀自己,发展自己,成功就在你触手可及的地方,加油!
本书内容
本书系统地介绍Java语言在Web自动化测试中的应用。书中对很多代码加了注释,以方便读者理解。全书以图文并茂的方式讲解Selenium WebDriver的实战技巧,主要知识点包括企业主流技术Maven和Git的使用、主流测试框架TestNG的使用、主流设计模式Page Object的使用、自动化测试框架搭建实战案例、持续集成工具Jenkins的使用以及分布式并行测试Selenium Grid的使用。
本书适用对象
? 想转型自动化测试的人员
? 具备一定的Java基础,想学习自动化测试的人员
? 具备一定的自动化测试基础,想系统地了解和学习自动化测试的人员
? 想系统了解Web自动化测试在企业实战中的应用的人员
? 测试管理者
阅读建议
本书要求读者具备一定的Java基础和测试理论基础。希望读者可以结合书中的案例反复练习,将所学知识运用到实际工作中,最后融会贯通,形成一套属于自己的知识体系。
资源下载
本书提供资源文件下载,读者既可以从https://github.com/xiaoliuzi20180524/selenium-webdriver下载,又可以登录机械工业出版社华章分社的网站(www.hzbook.com)下载,先搜索到本书,然后在页面上的“资料下载”模块下载即可。如果下载有问题,请发送电子邮件到booksaga@126.com。
致谢
感谢卞诚君老师在写书期间对我的鼓励与支持,让我以最佳的状态完成本书的创作。当然,还要感谢我的好朋友邢泽冲、吕聪亮、盖叶超、肖瑶、胡杰、王鑫、王容、张爽、郑美玲、杨天帮对本书的校对!

郎珑融
2020年4月于沈阳

上架指导

计算机\程序设计

封底文字

推 / 荐 / 语
如果你准备或正在从事Web UI自动化测试方面的工作,本书可作为常备工具书。本书内容由浅入深,结合大量实战案例,从环境搭建到企业中复杂场景的落地,简单明了地讲解PO模式及DDT、CI等关键自动化测试技术的实际应用。希望这本书能够帮助更多工程师在职业生涯中取得更高成就!
                                      ——资深测试开发工程师  简单随风(熊林涛)

随着软件迭代的速度越来越快,Agile和DevOps广受重视。在软件测试领域,自动化测试也受到了越来越多的青睐。本书深入浅出地介绍了自动化测试技术与Selenium 3.0方面的知识,具有一定的深度和广度,实在是一本不可多得的好书。
                      ——啄木鸟软件测试资深软件测试专家 前爱立信软件测试顾问  顾翔

近几年,企业对测试工程师的要求越来越高,自动化测试成为测试工程师的必备技能。本书源自作者在企业中进行大量自动化测试实践的经验总结,由浅入深,从设计模式、数据驱动入手,并结合具体实例,系统地讲解企业级UI的自动化测试,让读者可以从0到1学习搭建企业级Web UI自动化测试框架。
                                             ——测试开发工程师  雷子(李雷雷)

作 / 者 / 介 / 绍
郎珑融,资深测试工程师,从事软件测试工作8年。互联网测试开发社区VIPTEST联合创始人,微信公众号为“软件测试君”。曾任职于51CTO、科马先锋等公司,专注于软件测试技术分享与传播。

作者简介

郎珑融 编著:
郎珑融,资深测试工程师,从事软件测试工作8年。互联网测试开发社区VIPTEST联合创始人,微信公众号为“软件测试君”。曾任职于51CTO、科马先锋等公司,专注于软件测试技术分享与传播。

推荐序

推荐序(一)
开发出一款易用的软件是互联网领域永恒不变的话题,对于软件的易用性,软件质量又尤为重要。软件质量是决定用户体验的重要方面,而软件测试是保障软件质量的无可替代的工作。毫不夸张地说,软件质量是否过关决定了软件能否赢得市场。
随着互联网的高速发展,软件测试的工作也在蓬勃发展。纯手工测试由于效率上的缺点,已经不能满足企业高速发展的需求,因此软件测试的从业者追求更高效的测试方法来完成软件测试的工作,追求质量和效率的完美平衡。
于是,自动化测试应运而生。自动化测试是一种高效的、无须人工执行的测试手段。测试人员在熟悉业务流程的基础之上编写一些脚本,让其在固定的环节中自动地执行测试并生成测试报告,就能够直观地观察到软件的哪一部分存在Bug,后续则可以有针对性地修复Bug。在很多大公司中,如BAT,已经把软件测试融入持续集成过程中。在持续集成过程中,主要应用环节包括准入测试、冒烟测试、回归测试等。自动化测试与手工测试结合在一起,大大地提高了测试效率。
自动化测试应用在提测质量管控、大面积回归测试等环节,不仅大大地提高了测试执行的效率,而且提高了质量。这里因为它能够代替人不断地做重复性的工作,而重复性的工作会让人疲惫,让人因疏忽导致很多低级Bug产生。自动化测试则完美地弥补了这一点。
虽然自动化测试有诸多优点,但是并不能够解决所有的问题,仍然需要一部分手工测试才能达到完美的覆盖,两者相结合才能够在质量和效率之间达到平衡。
在自动化测试落地的过程中,测试从业者遇到了各种各样的问题,导致技术分享很多,但实际应用性并不强。这是本书出版的一个目的,即阐述什么样的场景适合使用自动化测试,自动化测试在这些场景中应该如何落地,从而真正让其高效起来。本书可以使读者在未来的自动化测试道路上避免很多常见的问题,进而更高效地上手自动化测试。
本书基于作者的学习与工作经验总结而成,包括常见的框架使用方法、企业落地实战等内容,是非常贴近企业级实战的。本书系统地总结了从设计到实战的全部过程,让初学者能够快速上手,有经验的朋友可以作为参考书。

周景阳
贪心科技副总裁,前百度资深工程师,全栈工程师




推荐序(二)
本书是作者从实践中总结经验并严格筛选知识点编写而成的,干货满满。
当今,从研发效能到质量效能,再到交付效率,工程效率越来越受到业界的重视。随着DevOps不断深入人心,打破职能竖井模式,建立一支更高效、更快速的团队变得越来越重要。纵观项目中的所有工作环节,质量保障环境应该是到目前为止在自动化方面发展非常缓慢的,这里面有很多原因。部分原因是测试工作在整个开发生命周期中是一个被动检测流程,但是开发工程师在整个开发生命周期内主导的是一个创造性的流程,所有的工程都是从无到有创建的。因此,大家普遍会忽略质量保障环境的自动化程度,忽略开发测试代码所带来的价值。这样就导致在整个工程的各个环节中,质量效能还是一个洼地。
质量效能的提升离不开自动化测试技术,自动化测试技术的使用范围和推广力度直接影响整个团队的交付效率。自动化测试技术包含单元测试、API测试和UI测试。在分层测试的理念之下,UI测试变成了内部检测的最后一道关卡,用自动化的手段提高最后一道关卡的测试效率已经变得越来越重要。
本书从UI自动化的基础知识讲起,以Java语言为基础,详细讲解在WebUI自动化中占主流的Selenium WebDriver框架。作者以自己的实践经验为出发点,讲解了Selenium WebDriver的用法以及相关的技术细节。通过阅读本书,读者可以完成从测试工程师到UI自动化测试工程师的完美转变。这个转变除了能提升读者自身的价值以外,还对工程效能和质量效能的推进等起到关键作用。
本书对涉及的相关技术点都做了详细的讲解,并且对当今比较流行的设计模式、设计方法、驱动方法做了很好的描述,抽丝剥茧、细致入微地剖析关键技术点。最后,介绍了BDD驱动的测试框架Cucumber,以及自动化测试如何与持续集成、持续发布、持续部署的相关平台集成,达到持续测试、持续反馈的目的,从而最终交付一个高质量的交付物。
本书既适用于刚入行想快速提升的新人,又适用于在软件测试行业摸爬滚打多年想进一步提升的测试老兵。相信读者已经迫不及待地想翻开本书,开启自动化测试的学习之旅了。

陈磊
京东零售技术中心测试架构师

图书目录

推荐序(一)
推荐序(二)
前言
第1章 自动化测试基础准备 1
1.1 自动化测试的概念 1
1.2 手工测试与自动化测试的区别 1
1.2.1 手工测试与自动化测试并不对立 1
1.2.2 手工测试的特点 2
1.2.3 自动化测试的特点 2
1.2.4 自动化测试与手工测试的关系 2
1.3 自动化测试中常见的误区 2
1.3.1 误区一:自动化测试就是用工具录制和回放 3
1.3.2 误区二:自动化测试能发现新Bug 3
1.3.3 误区三:会自动化测试就是测试开发工程师了 3
1.3.4 误区四:有了自动化测试就什么都不用做了 3
1.4 分层自动化测试思想 4
1.4.1 单元测试自动化 4
1.4.2 接口测试自动化 5
1.4.3 Web测试自动化 5
1.5 自动化测试流程 5
1.5.1 对被测系统进行调研 6
1.5.2 确定使用的开发语言 6
1.5.3 选择自动化测试项目 6
1.5.4 申请自动化测试资源 6
1.5.5 自动化测试用例筛选 7
1.5.6 编写自动化测试方案 7
1.5.7 自动化测试框架和脚本开发 7
1.5.8 框架演示 7
1.5.9 进入脚本开发阶段 7
1.5.10 脚本执行阶段 8
1.5.11 成果验收 8
1.6 编写自动化测试用例 8
1.6.1 自动化用例选择原则 8
1.6.2 编写自动化用例原则 8
1.6.3 编写自动化测试脚本原则 9
1.7 什么样的项目适合自动化测试 9
1.7.1 不适合自动化测试的情况 9
1.7.2 适合自动化测试的情况 9
1.8 Selenium的优势以及工作原理 10
1.8.1 支持的语言、平台、浏览器 10
1.8.2 Selenium的配套工具 10
1.8.3 Selenium与QTP的比较 10
1.8.4 Selenium的工作原理 11
1.9 小结 11
第2章 自动化开发环境搭建 12
2.1 安装及配置Java环境 12
2.1.1 下载JDK 12
2.1.2 环境变量配置 13
2.2 开发工具Eclipse的安装及配置 16
2.2.1 下载Eclipse 16
2.2.2 TestNG插件的安装及配置 17
2.2.3 Maven插件的安装及配置 19
2.2.4 新建一个Java工程和测试类 23
2.3 开发工具IDEA的安装及配置 26
2.3.1 下载和安装IDEA 27
2.3.2 IDEA主题和字体设置 30
2.3.3 与Eclipse操作习惯进行同步的设置 32
2.3.4 IDEA必备开发插件安装 33
2.3.5 IDEA常用的快捷键 33
2.3.6 使用IDEA创建一个Maven项目 34
2.3.7 IDEA中项目的JDK设置 37
2.3.8 使用IDEA编写第一个程序 38
2.4 小结 39
第3章 Maven基础入门 40
3.1 什么是Maven 40
3.2 为什么要使用Maven 40
3.3 Maven仓库的配置 41
3.3.1 仓库的分类 41
3.3.2 三类仓库之间的关系 41
3.3.3 本地仓库的配置 41
3.4 配置Maven私服地址 42
3.5 pom文件说明 42
3.6 在pom文件中添加依赖JAR包 43
3.6.1 手动添加依赖 44
3.6.2 Maven项目的目录结构 45
3.7 使用Maven编译和测试 46
3.7.1 编写一个主类 46
3.7.2 编写一个测试类 47
3.7.3 编译和测试 47
3.7.4 打包和运行 48
3.7.5 使用Archetype生成项目 51
3.8 小结 55
第4章 Git基础入门 56
4.1 Git介绍 56
4.1.1 什么是Git 56
4.1.2 为什么要使用Git 56
4.1.3 Git与SVN的区别 57
4.2 Git的工作流程 57
4.3 Git客户端配置 57
4.3.1 在Windows上安装Git 57
4.3.2 注册GitHub账号 58
4.3.3 配置个人的用户名和电子邮件地址 60
4.3.4 在客户端生成SSH key 60
4.3.5 配置SSH key添加公钥 61
4.4 Git常用操作 62
4.4.1 创建一个版本库 62
4.4.2 初始化本地仓库 63
4.4.3 添加和提交文件 63
4.4.4 将本地仓库和远程仓库相关联 63
4.4.5 查看版本的操作内容 64
4.4.6 版本回退操作 65
4.4.7 查看工作区状态 65
4.4.8 撤销修改操作 66
4.4.9 删除文件操作 66
4.4.10 分支操作 67
4.4.11 解决冲突操作 68
4.5 小结 69
第5章 页面元素定位 70
5.1 定位插件安装 70
5.1.1 旧版本Firefox定位插件安装 70
5.1.2 最新版本Firefox定位插件安装 72
5.1.3 Chrome浏览器定位插件安装 73
5.2 定位页面元素的方法 74
5.2.1 查看页面元素 75
5.2.2 常用元素定位方法 75
5.2.3 XPath定位方法详解 77
5.2.4 CSS定位方法详解 81
5.2.5 使用jQuery定位 86
5.2.6 table表格常见的定位操作 89
5.3 小结 92
第6章 主流测试框架TestNG的使用 93
6.1 TestNG的基本介绍 93
6.1.1 TestNG常见的代码 93
6.1.2 TestNG怎样执行测试 94
6.2 TestNG的使用 95
6.2.1 快速开始 95
6.2.2 注解及属性 97
6.2.3 套件测试 100
6.2.4 忽略测试 102
6.2.5 分组测试 103
6.2.6 异常测试 105
6.2.7 依赖测试 105
6.2.8 超时测试 106
6.2.9 参数化测试 108
6.2.10 多线程测试 110
6.2.11 TestNG断言 111
6.3 小结 115
第7章 从浏览器启动开始 116
7.1 启动Chrome浏览器 116
7.1.1 环境准备工作 116
7.1.2 下载ChromeDriver驱动 118
7.1.3 启动Chrome浏览器 118
7.2 启动IE浏览器 119
7.2.1 下载IEDriverServer 119
7.2.2 配置IE浏览器 120
7.2.3 启动IE浏览器 120
7.3 启动Firefox浏览器 121
7.3.1 启动旧版本的Firefox浏览器 121
7.3.2 启动最新版本的Firefox浏览器 122
7.4 启动Edge浏览器 123
7.4.1 下载Microsoft WebDriver 123
7.4.2 启动Edge浏览器 124
7.5 多浏览器并行测试 124
7.6 小结 127
第8章 WebDriver常用API使用详解 128
8.1 浏览器操作 128
8.1.1 访问某个网站 128
8.1.2 浏览器最大化 129
8.1.3 浏览器前进和后退操作 129
8.1.4 浏览器刷新操作 129
8.1.5 浏览器窗口操作 130
8.1.6 获取页面标题 130
8.1.7 获取页面源代码信息 130
8.1.8 获取当前页面URL地址 131
8.1.9 关闭浏览器操作 131
8.2 元素操作 131
8.2.1 点击操作 132
8.2.2 输入操作 133
8.2.3 获取页面元素文本的操作 134
8.2.4 获取页面元素标签名称的操作 134
8.2.5 获取页面元素属性值的操作 134
8.2.6 获取页面元素尺寸的操作 135
8.2.7 获取页面元素CSS样式的操作 135
8.2.8 获取页面元素坐标的操作 135
8.2.9 获取多个页面元素的操作 136
8.3 鼠标事件和键盘事件的操作 136
8.3.1 鼠标悬浮操作 137
8.3.2 鼠标单击操作 138
8.3.3 鼠标双击操作 139
8.3.4 鼠标移动操作 139
8.3.5 鼠标右击操作 139
8.3.6 按住鼠标按键和释放鼠标按键的操作 139
8.3.7 鼠标拖曳操作 139
8.3.8 模拟键盘操作 145
8.4 Selenium中常见的等待 146
8.4.1 实际案例 146
8.4.2 强制等待 147
8.4.3 页面等待 148
8.4.4 隐式等待 149
8.4.5 显式等待 150
8.5 Selenium中的窗口切换处理 153
8.5.1 常用切换方法 153
8.5.2 两个窗口切换 153
8.5.3 多个窗口切换 155
8.6 iframe切换处理 158
8.6.1 常用切换方法 158
8.6.2 使用iframe标签位置切换 159
8.6.3 使用元素对象进行iframe切换 159
8.6.4 使用id属性进行iframe切换 159
8.6.5 使用name属性进行iframe切换 160
8.6.6 iframe切换操作实例 160
8.7 弹窗处理 163
8.7.1 弹窗分类 163
8.7.2 弹窗处理常用方法 163
8.7.3 Alert弹窗处理 164
8.7.4 Confirm弹窗处理 165
8.7.5 Prompt弹窗处理 165
8.8 单选框和复选框处理 166
8.8.1 什么是单选框和复选框 166
8.8.2 判断是否选中 167
8.8.3 单选框处理 167
8.8.4 复选框处理 167
8.9 下拉框处理 168
8.9.1 处理下拉框的常见方法 168
8.9.2 下拉框处理 169
8.10 Cookie操作 170
8.10.1 获取Cookie 170
8.10.2 获取Cookie个数 170
8.10.3 删除所有Cookie 170
8.10.4 设置Cookie 171
8.10.5 通过Cookie跳过登录验证码 171
8.11 调用JavaScript操作 173
8.11.1 Selenium调用JS的用法 174
8.11.2 使用Selenium调用JS实例 174
8.12 上传文件操作 175
8.12.1 普通控件上传 175
8.12.2 通过Robot对象上传文件 176
8.12.3 借助AutoIt完成上传文件的操作 177
8.13 滚动条操作 181
8.13.1 滚动条处理方法 181
8.13.2 常见滚动条处理案例 181
8.14 截图操作 182
8.14.1 通过TakeScreenshout类实现截图 182
8.14.2 通过Robot对象截图 183
8.14.3 截取目标区域的图片 183
8.15 录制屏幕操作 184
8.15.1 安装及配置 184
8.15.2 录制视频操作 185
8.16 富文本操作 187
8.16.1 富文本编辑器 187
8.16.2 通过键盘事件实现输入操作 187
8.16.3 通过进入iframe实现输入操作 188
8.16.4 通过执行JS实现输入操作 188
8.17 日期控件操作 189
8.17.1 通过js设置日期 189
8.17.2 通过iframe设置日期 190
8.18 Ajax浮动框操作 190
8.18.1 什么是Ajax浮动框 190
8.18.2 Ajax浮动框处理 191
8.19 下载文件到指定目录的操作 192
8.19.1 Firefox自动下载文件到指定目录的操作 192
8.19.2 Chrome自动下载文件到指定目录的操作 194
8.20 使用SikuliX操作Flash网页 196
8.20.1 实际操作案例 196
8.20.2 安装及配置 196
8.20.3 使用SikuliX操作Flash网页 197
8.21 小结 199
第9章 数据驱动测试 201
9.1 数据驱动测试介绍 201
9.2 利用DataProvider进行数据驱动测试 201
9.3 利用CSV文件进行数据驱动测试 203
9.3.1 创建CSV数据源文件 203
9.3.2 利用CSV文件进行数据驱动测试 203
9.4 利用Excel文件进行数据驱动测试 204
9.4.1 创建Excel数据源文件 205
9.4.2 进行数据驱动测试 205
9.4.3 验证使用Excel进行数据驱动测试 208
9.5 利用YAML文件进行数据驱动测试 208
9.5.1 创建YAML数据源文件 208
9.5.2 进行数据驱动测试 209
9.5.3 验证使用YAML进行数据驱动测试 210
9.6 利用MySQL数据库进行数据驱动测试 210
9.6.1 数据源准备 210
9.6.2 进行数据驱动测试 211
9.6.3 验证使用MySQL进行数据驱动测试 212
9.7 小结 213
第10章 Page Object设计模式 214
10.1 Page Object设计模式介绍 214
10.1.1 什么是Page Object设计模式 214
10.1.2 Page Object实际应用案例 215
10.2 Page Factory设计模式 217
10.2.1 @FindBy和@CacheLookup的用法 218
10.2.2 Page Factory类的使用 218
10.2.3 Page Factory模式实际应用案例 218
10.3 小结 222
第11章 手把手教你搭建一个自动化测试框架 223
11.1 为什么要编写自动化测试框架 223
11.2 框架设计思路与实现 224
11.2.1 框架设计思路 224
11.2.2 准备工作 224
11.2.3 Log4j日志配置 227
11.2.4 基础层的实现 228
11.3 元素对象的管理与实现 228
11.3.1 解析Excel文件 229
11.3.2 By对象的封装 231
11.3.3 元素对象层的再封装 233
11.3.4 操作层的实现 234
11.3.5 业务层的实现 234
11.4 测试报告的美化 235
11.5 小结 239
第12章 行为驱动框架Cucumber的使用 240
12.1 BDD框架之Cucumber初探 240
12.1.1 什么是Cucumber 240
12.1.2 何为BDD 240
12.1.3 Feature介绍 240
12.1.4 Step介绍 241
12.1.5 Cucumber的使用 241
12.1.6 如何执行 244
12.2 使用Cucumber 进行参数化测试 245
12.2.1 什么是参数化 245
12.2.2 Cucumber的数据驱动 245
12.2.3 编写测试用例文件 245
12.2.4 创建业务测试代码部分 246
12.3 Cucumber操作实例 247
12.3.1 编写测试用例文件 247
12.3.2 创建一个Step定义文件 247
12.3.3 创建一个Runner类文件 248
12.4 小结 249
第13章 持续集成工具Jenkins的使用 250
13.1 Jenkins的安装 250
13.1.1 什么是Jenkins 250
13.1.2 Jenkins构建过程 250
13.1.3 安装及启动 251
13.2 Jenkins的配置 256
13.2.1 Jenkins插件的安装 256
13.2.2 JDK、Maven和Git的配置 257
13.2.3 Jenkins创建一个任务 258
13.3 Jenkins的邮箱配置 260
13.3.1 获取邮箱服务器相关信息 261
13.3.2 开启QQ邮箱的SMTP服务 261
13.3.3 安装Email Extension Plugin插件 262
13.3.4 Jenkins邮箱的全局配置 263
13.3.5 项目Job的邮箱配置 264
13.4 Cucumber与Jenkins持续集成 266
13.4.1 添加ExtentReports测试报告 266
13.4.2 Cucumber入口类 267
13.4.3 使用Jenkins持续集成 268
13.5 小结 271
第14章 Selenium Grid的使用 273
14.1 环境搭建准备 273
14.1.1 什么是Selenium Grid 273
14.1.2 搭建Selenium Grid服务 273
14.2 Selenium Grid实例 276
14.3 小结 279
参考文献 280

教学资源推荐
作者: 吴英 编著
作者: 黄文斌 刘君 熊建强
作者: 教育部高等学校计算机类专业教学指导委员会 物联网工程专业教学研究专家组 编制
参考读物推荐
作者: 刘晓辉
作者: 陈光剑 编著
作者: Tim Parker