当前位置:主页 > 书籍配套资源 > Web自动化测试配套资源
《Web自动化测试与Selenium 3.0从入门到实践》源代码

《Web自动化测试与Selenium 3.0从入门到实践》源代码

  • 更新:2022-01-19
  • 大小:59.6 MB
  • 类别:Web自动化测试
  • 作者:郎珑融
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书由浅入深,结合大量实际案例,重点讲解Selenium WebDriver在企业中的应用与实践。

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

封面图

目录

  • 推荐序(一)
  • 推荐序(二)
  • 前言
  • 第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 误区二:自动化测试能发现新Bug3
  • 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 下载JDK12
  • 2.1.2 环境变量配置13
  • 2.2 开发工具Eclipse的安装及配置16
  • 2.2.1 下载Eclipse16
  • 2.2.2 TestNG插件的安装及配置17
  • 2.2.3 Maven插件的安装及配置19
  • 2.2.4 新建一个Java工程和测试类23
  • 2.3 开发工具IDEA的安装及配置26
  • 2.3.1 下载和安装IDEA27
  • 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 什么是Maven40
  • 3.2 为什么要使用Maven40
  • 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 什么是Git56
  • 4.1.2 为什么要使用Git56
  • 4.1.3 Git与SVN的区别57
  • 4.2 Git的工作流程57
  • 4.3 Git客户端配置57
  • 4.3.1 在Windows上安装Git57
  • 4.3.2 注册GitHub账号58
  • 4.3.3 配置个人的用户名和电子邮件地址60
  • 4.3.4 在客户端生成SSH key60
  • 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 下载IEDriverServer119
  • 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 WebDriver123
  • 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 获取Cookie170
  • 8.10.2 获取Cookie个数170
  • 8.10.3 删除所有Cookie170
  • 8.10.4 设置Cookie171
  • 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 什么是Cucumber240
  • 12.1.2 何为BDD240
  • 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 什么是Jenkins250
  • 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 Grid273
  • 14.1.2 搭建Selenium Grid服务273
  • 14.2 Selenium Grid实例276
  • 14.3 小结279
  • 参考文献280

资源下载

资源下载地址1:https://pan.baidu.com/s/1LtahP_Kmskja09LZuIf1zQ

相关资源

网友留言