描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121368660
1.1 Selenium的“前世今生” 002
1.2 Selenium工具套件介绍 003
1.3 Selenium支持的浏览器和操作系统 004
1.3.1 Selenium IDE和Selenium 1支持的浏览器和操作系统 004
1.3.2 Selenium 2和Selenium 3支持的浏览器 005
1.4 Selenium 1和WebDriver的实现原理 006
1.4.1 Selenium 1的实现原理 006
1.4.2 WebDriver的实现原理 008
1.5 Selenium的特性 014
1.5.1 Selenium 1和Selenium 2的特点 014
1.5.2 Selenium 3的新特性 015
第2章 自动化测试的那点事儿 016
2.1 自动化测试的目标 016
2.2 管理层的支持 020
2.3 投入产出比 020
2.4 敏捷开发中的自动化测试应用 021
2.5 自动化测试人员分工 023
2.6 自动化测试工具的选择和推广使用 024
2.6.1 自动化测试工具的选择 024
2.6.2 Selenium WebDriver和QTP的工具特点比较 025
2.7 在项目中实施自动化测试的最佳实践 025
2.8 学习Selenium工具的能力要求 028
第3章 自动化测试辅助工具 029
3.1 56 版本Firefox浏览器的安装 029
3.2 安装xPath Finder插件 030
3.3 xPath Finder插件的使用 032
3.3.1 启动xPath Finder 插件 032
3.3.2 使用xPath Finder插件 032
3.4 使用Firefox开发版浏览器查找页面元素对应的HTML代码 033
3.5 Chrome 浏览器自带的辅助开发工具 034
3.6 IE浏览器自带的辅助开发工具 035
第4章 Selenium IDE 036
4.1 什么是Selenium IDE 036
4.2 安装Selenium IDE 037
4.3 Selenium IDE插件的基本功能 038
4.3.1 新建一个测试工程,录制并执行脚本 038
4.3.2 常用工具栏 041
4.3.3 脚本编辑区域 041
4.4 Selenium IDE脚本介绍——Selenese 042
第5章 搭建Java环境和Eclipse集成开发环境 043
5.1 安装Java JDK,配置Java环境 043
5.1.1 下载JDK 1.8版本的安装文件 043
5.1.2 安装JDK 1.8版本 044
5.1.3 配置Java环境变量 046
5.2 安装Java IDE开发工具Eclipse 049
5.3 新建一个Java工程和一个类 052
5.4 Eclipse集成开发环境的使用技巧 055
5.4.1 增大程序代码和注释字体 055
5.4.2 自动补全功能 056
第6章 WebDriver的安装配置 057
6.1 在Eclipse 中配置WebDriver 057
6.2 第一个WebDriver脚本 060
第7章 单元测试框架的基本介绍 062
7.1 什么是单元测试 062
7.2 JUnit单元测试框架 062
7.2.1 什么是JUnit 063
7.2.2 安装JUnit 4 063
7.2.3 JUnit的常见注解 064
7.2.4 创建JUnit 4 Test Suite 070
7.2.5 使用JUnit编写的WebDriver脚本 072
7.3 TestNG单元测试框架 073
7.3.1 什么是TestNG 073
7.3.2 TestNG的优点 073
7.3.3 编写TestNG测试用例的步骤 074
7.3.4 在Eclipse中安装TestNG插件 074
7.3.5 在TestNG中运行第一个WebDriver测试用例 077
7.3.6 TestNG的常用注解 081
7.3.7 测试集合 085
7.3.8 测试用例的分组 087
7.3.9 依赖测试 090
7.3.10 按照特定顺序执行测试用例 091
7.3.11 跳过某个测试方法 092
7.3.12 测试报告中的自定义日志 093
7.3.13 断言 094
第8章 页面元素的定位方法 097
8.1 定位页面元素的方法汇总 097
8.2 使用ID定位 098
8.3 使用name定位 099
8.4 使用链接的全部文字定位 099
8.5 使用部分链接的文字定位 100
8.6 使用标签名称定位 101
8.7 使用Class名称定位 101
8.8 使用XPath方式定位 102
8.8.1 什么是XPath 102
8.8.2 XPath语法 103
8.9 使用CSS方式定位 108
8.9.1 什么是CSS 108
8.9.2 CSS语法 108
8.9.3 XPath定位和CSS定位的比较 113
8.10 使用jQuery方式定位 113
8.10.1 什么是jQuery 113
8.10.2 jQuery的定位代码实例 114
8.11 表格的定位方法 116
8.11.1 遍历表格的全部单元格 116
8.11.2 定位表格中的某个单元格 118
8.11.3 定位表格中的子元素 119
第二篇 实战应用篇
第9章 WebDriver的多浏览器测试 122
9.1 使用IE浏览器进行测试 122
9.2 使用Firefox浏览器进行测试 123
9.3 使用Chrome浏览器进行测试 124
9.4 使用Mac系统中的Safari浏览器进行测试 126
9.5 使用TestNG进行并发兼容性测试 126
第10章 WebDriver API实例详解 131
10.1 访问某网页地址 131
10.2 返回上一个访问的网页(模拟单击浏览器的后退功能) 132
10.3 从上次访问网页前进到下一个网页(模拟单击浏览器的前进功能) 132
10.4 刷新当前网页 133
10.5 操作浏览器窗口 133
10.6 获取页面的Title属性 134
10.7 获取页面的源代码 134
10.8 获取当前页面的URL地址 135
10.9 在输入框中清除原有的文字内容 135
10.10 在输入框中输入指定内容 136
10.11 单击按钮 136
10.12 双击某个元素 137
10.13 操作单选下拉列表 137
10.14 检查单选列表的选项文字是否符合期望 138
10.15 操作多选的选择列表 139
10.16 操作单选框 140
10.17 操作复选框 141
10.18 杀掉Windows的浏览器进程 142
10.19 对当前浏览器窗口进行截屏 143
10.20 检查页面元素的文本内容是否出现 143
10.21 执行JavaScript脚本 144
10.22 拖曳页面元素 145
10.23 模拟键盘的操作 145
10.24 模拟鼠标右键操作 146
10.25 在指定元素上方进行鼠标悬浮 146
10.26 在指定元素上进行鼠标单击左键和释放的操作 148
10.27 查看页面元素的属性 149
10.28 获取页面元素的CSS属性值 150
10.29 隐式等待 150
10.30 常用的显式等待 151
10.31 自定义的显式等待 153
10.32 判断页面元素是否存在 154
10.33 使用Title属性识别和操作新弹出的浏览器窗口 155
10.34 使用页面的文字内容识别和处理新弹出的浏览器窗口 157
10.35 操作JavaScript的Alert弹窗 158
10.36 操作JavaScript的confirm弹窗 159
10.37 操作JavaScript的prompt弹窗 160
10.38 操作frame中的页面元素 161
10.39 使用frame中的HTML源码内容来操作frame 164
10.40 操作iframe中的页面元素 165
10.41 操作浏览器的Cookie 166
第11章 WebDriver的高级应用实例 168
11.1 使用JavaScriptExecutor单击元素 168
11.2 在使用Ajax方式产生的浮动框中,单击选择包含某个关键字的选项 170
11.3 设置一个页面对象的属性值 172
11.4 在日期选择器上进行日期选择 174
11.5 无人化自动下载某个文件 175
11.6 使用sendKeys方法上传一个文件附件 179
11.7 使用第三方工具AutoIt上传文件 180
11.8 操作Web页面的滚动条 186
11.9 启动带有用户配置信息的Firefox浏览器窗口 188
11.10 通过Robot对象操作键盘 190
11.11 对象库(UI Map) 193
11.12 操作富文本框 196
11.13 精确比对网页截图图片 202
11.14 高亮显示正在被操作的页面元素 204
11.15 在断言失败时进行屏幕截图 206
11.16 使用Log4j在测试过程中打印执行日志 211
11.17 封装操作表格的公用类 216
11.18 控制基于HTML5语言实现的视频播放器 219
11.19 在HTML5的画布元素上进行绘画操作 222
11.20 操作HTML5的存储对象 223
第三篇 自动化测试框架搭建篇
第12章 数据驱动测试 228
12.1 什么是数据驱动 228
12.2 使用TestNG进行数据驱动 228
12.3 使用TestNG和CSV文件进行数据驱动 231
12.4 使用TestNG、Apache POI和Excel文件进行数据驱动测试 234
12.5 使用MySQL数据库实现数据驱动测试 239
第13章 页面对象(Page Object)模式 244
13.1 页面对象模式简介 244
13.2 使用PageFactory类 245
13.2.1 使用PageFactory类给测试类提供待操作的页面元素 245
13.2.2 使用PageFactory类封装页面元素的操作方法 247
13.3 使用LoadableComponent类 250
13.4 多个PageObject的自动化测试实例 252
第14章 行为驱动测试 260
14.1 行为驱动开发和Cucumber简介 260
14.2 Cucumber在Eclipse中的环境搭建 261
14.3 在Eclipse中使用JUnit和英文语言进行行为驱动测试 263
14.4 在Eclipse中使用JUnit和中文语言进行行为驱动测试 272
第15章 Selenium Grid的使用 276
15.1 Selenium Grid简介 276
15.2 Selenium Grid的使用方法 278
15.2.1 远程使用Firefox浏览器进行自动化测试 278
15.2.2 远程使用IE浏览器进行自动化测试 282
15.3 通过TestNG使用Firefox、IE和Chrome浏览器进行并发的远程自动化测试 284
15.3.1 使用静态类实现并发的远程自动化测试 284
15.3.2 通过TestNG的配置文件参数方法进行远程并发自动化测试 288
15.4 使用Selenium Grid时,在远程Node计算机上进行截图 294
第16章 自动化测试框架的Step By Step搭建及测试实战 296
16.1 什么是自动化测试框架 296
16.2 数据驱动测试框架搭建及实战 299
16.3 关键字驱动测试框架搭建及实战 331
16.4 混合驱动测试框架搭建及实战 398
第17章 基于Maven的数据驱动框架搭建及测试实战 432
17.1 Maven的安装与配置 432
17.1.1 下载Maven安装文件 432
17.1.2 配置Maven环境变量 433
17.1.3 配置“settings.xml” 435
17.2 基于Maven的数据驱动框架搭建 437
17.3 基于Maven的数据驱动框架测试实践 478
<
随着互联网的高速发展,中国的互联网繁荣程度达到了一个空前的发达水平,数亿量级用户的产品登上了中国的互联网发展舞台,阿里巴巴、腾讯、百度等多个互联网巨头也开始在世界的互联网舞台上崭露头角,互联网行业的从业人员也达到了上百万人的规模,中国的互联网产品已经深入网民生活的方方面面。
互联网行业在中国的迅猛发展,对中国的软件开发和测试行业也提出了更高的技术要求与质量要求,软件测试从业者的技术水平也被提升到空前且不绝后的高要求阶段。以往我们看到,测试人员的招聘重点都是对于测试用例设计和业务的理解,现今我们看到,更多的测试职位对测试人员提出了更高的技术能力要求,例如,精通一门编程语言,熟悉MySQL或者Oracle数据库,精通自动化测试和性能测试等。为了更好地适应互联网社会的发展潮流,软件测试从业者只有在技术能力上不断地提升自己,才能真正站在职业发展的巅峰。
自动化测试技术对测试人员来说是一个必要的高级技能要求,越来越多的测试从业者并不甘于仅仅使用手工方式进行测试,他们非常希望使用自动化的方式来减少枯燥无味且不断重复的手工测试劳动。目前,主流的Web自动化测试开源工具Selenium WebDriver成为众多软件测试从业者学习的热点,但是市面上针对Selenium自动化测试的书籍很少,基于实践来讲解Selenium应用技术的书籍更是凤毛麟角。因此,笔者个人非常希望能够写出一本基于实践操作的Selenium教学书籍,来解决软件测试人员的自动化测试学习问题。
本书采用图文并茂的方式分步骤讲解Selenium的各种实用技巧,并且提供被测试对象的实现代码或者被测试对象的访问网址,方便读者在本地搭建自己的测试环境或者访问互联网上的网站,从而进行自动化测试的实践。
这是我第一次写一本技术方面的书籍,当我真正开始提笔的时候,深深感觉到用简洁的语言讲明白工具的使用方法和测试程序代码绝非易事,为此我投入了大量的精力来不断组织、优化书中的文字和图片,希望能够让读者通过本书深入掌握Selenium的使用技巧,在自动化测试上助大家一臂之力。
由于我平时还要忙于其他工作,只能利用业余时间来编写此书,所以足足耗时8个月之久才完成此书,共写了30多万字,希望能够获得读者的欢迎。非常感谢我的妻子和女儿,她们对我给予了巨大支持。我相信通过我的努力一定可以改变一些人的命运,所以和大家共勉,希望我们共同努力,改变中国测试行业技术含量低的现状。
各章内容介绍:
第一篇基础篇:包括第1~8章。
第1章介绍了Selenium的发展历史及组成Selenium 的工具套件,列举了Selenium 1和Selenium 2支持的浏览器和平台,讲解了Selenium RC和 WebDriver的实现原理,同时介绍了Selenium 1、Selenium 2和Selenium 3的各自特点及区别。
第2章介绍了在日常测试工作中常见的自动化测试目标,讲解了如何获得公司管理层对开展自动化测试的支持,介绍了如何衡量自动化测试工作的投入产出比及在敏捷开发中的自动化测试应用,讲解了自动化测试工作的分工及测试工具的选择和推广使用,分享了实际项目的最佳实践经验,说明了学习Selenium工具的能力要求。
第3章主要讲解了与Selenium工具使用相关的辅助工具。
第4章主要讲解了Selenium IDE插件的安装、界面和基本的使用方法,并且讲解了使用实例和导出脚本的方法。
第5章主要讲解了如何搭建Java环境和Eclipse集成开发环境,并且介绍了Eclipse开发环境的最佳配置方法。
第6章主要讲解了WebDriver的安装和配置方法。
第7章主要讲解了单元测试的基本知识,并且结合JUnit和TestNG单元测试框架讲解了单元测试的实例。
第8章主要讲解了在自动化测试过程中使用的页面元素定位方法,包括ID定位方法、Name定位方法、链接定位方法、Class名称定位方法、XPath定位方法、CSS定位方法和jQuery定位方法,推荐将XPath定位方法作为页面元素定位的主要方法。
第二篇实战应用篇:包括第9~11章。
第9章讲解了如何使用WebDriver工具分别操作IE浏览器、Firefox浏览器和Chrome浏览器进行自动化测试,介绍了TestNG工具的并发兼容性测试实例。
第10章通过实例全面讲解了WebDriver的常用API,共介绍了41个实例。
第11章讲解了WebDriver的20个高级应用实例。
第三篇自动化测试框架搭建篇:包括第12~17章。
第12章讲解了数据驱动的概念,以及如何基于TestNG工具,使用CSV文件、Excel文件和MySQL数据库分别进行数据驱动测试。
第13章介绍了页面对象(Page Object)设计模式,通过使用类函数封装方式实现自动化测试框架的设计模式。
第14章介绍了基于Cucumber工具的行为驱动测试实例,分别基于中文测试用例文件和英文测试用例文件进行了实例讲解。
第15章介绍了如何基于Selenium Gird组件实现并发执行测试用例,并基于实例进行了深入讲解。
第16章深入讲解了如何从零开始,搭建数据驱动测试框架、关键字驱动测试框架和混合驱动测试框架,并提供了完整的框架实例代码。此章为本书最重要的章节,建议读者在阅读前面所有章节后再阅读此章节。
第17章以数据驱动框架为例,讲解了基于Maven的数据驱动测试框架的构建,提供了完整的框架实例代码。此章为实战的进阶内容,建议读者在阅读时,在本地计算机中进行实践搭建。
第四篇常见问题和解决方法:包含第18章。
第18章讲解了在WebDriver使用过程中的常见问题和解决方法,读者可以在使用WebDrvier遇到问题时进行查阅。
特别致谢:
感谢我的好朋友王浩、李雄刚和部凯文帮忙校对本书中的所有实例和代码,从中发现了不少书写错误和代码问题,在此对他们表示真挚的感谢。
吴晓华
2019年4月
评论
还没有评论。