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

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

  • 大小:59.6 MB
  • 类型:配书资源
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:郎珑融
  • 更新:2022-07-15 09:20:26
版权投诉 / 资源反馈(本资源由用户 方星儿 投稿)

这是一个关于Web自动化测试相关的资料,由机械工业出版社出版,作者是郎珑融,介绍了关于Web、自动化测试、Selenium、源代码方面,格式为PDF,资源大小59.6 MB,目前在Web自动化测试类资源综合评分为:8.6分。

本书由浅入深,结合大量实际案例,重点讲解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

以上就是本次关于本资源的介绍和部分内容,我们还整理了以往更新的其它相关配套资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

Web自动化测试相关资源

  • WebGIS之OpenLayers全面解析

    WebGIS之OpenLayers全面解析

    OpenLayers作为业内使用最为广泛的地图引擎之一,已被各大GIS厂商和广大WebGIS二次开发者采用。借助OpenLayers强大的扩展功能,可以实现与各个不同的WebGIS平台产品相结合,开发出各具特色的We

    大小:42.8 MBOpenLayers

  • PHP和MySQL Web开发(第4版)

    PHP和MySQL Web开发(第4版)

    《PHP和MySQL Web开发》将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子

    大小:51.6 MB网站开发

  • Web安全之强化学习与GAN

    Web安全之强化学习与GAN

    本书介绍强化学习和生成对抗网络的基础知识和实际应用,特别是在安全领域中攻防建设的实际应用,包含基于机器学习的恶意程序识别技术、AI安全的攻防知识、强化学习等知识

    大小:16.8 MBWeb防护

  • 高效前端:Web高效编程与优化实践

    高效前端:Web高效编程与优化实践

    本书精选了前端开发中的34个疑难问题,从分析问题入手,逐步给出解决方案,并分析各种方案的优劣,并总结出高效编程的最佳实践和各种性能优化的方法

    大小:199.1 MB前端设计

  • Web数据分析关键技术及解决方案

    Web数据分析关键技术及解决方案

    大小:32 MBWeb数据分析

  • 响应式Web设计:HTML5和CSS3实战(第2版)

    响应式Web设计:HTML5和CSS3实战(第2版)

    本书将当前Web 设计中热门的响应式设计技术与HTML5 和CSS3 结合起来,为读者全面深入地讲解了针对各种屏幕大小设计和开发现代网站的各种技术。书中不仅讨论了媒体查询、弹性布局、响应式

    大小:11.6 MB前端

  • 基于MVC的JavaScript Web富应用开发

    基于MVC的JavaScript Web富应用开发

    内容简介 《 JavaScript Web 富应用开发 》Developing JavaScript Web Applications是 Alex MacCaw 的新作(由OReilly出版发行),本书系统而深入的讲解了如何使用最前沿的Web技术构建下一代互联网富应用程序。作者 Alex MacCaw 是一名Ruby/JavaScript 程序员,在开源社区中很有名望,是Spine框架的作者,同时活跃在纽约、旧金山和柏林的各大 Ruby/Rails 论坛。除了作为一名工程师,他还喜欢带着他的尼康D90和冲

    大小:3.67 MBWeb开发

  • 架构即未来:现代企业可扩展的Web架构、流程和组织(第二版)

    架构即未来:现代企业可扩展的Web架构、流程和组织(第二版)

    大小:121 MBWeb架构

  • 《Web前端开发精品课:HTML5 Canvas开发详解》源代码

    《Web前端开发精品课:HTML5 Canvas开发详解》源代码

    编辑推荐 含金量高 前端精品内容荟萃,强化基础提升实战技能。通俗易懂 语言风格轻松幽默,形象生动讲解枯燥知识。系统学习 掌握前端高级技巧,清晰流畅学习进阶内容。贴近读者 结合自身学习经历,文字极具温度不失严谨。直击痛点 规避开发思维误区,精炼浓缩直指技术本质。 内容简介 全书共分为两大部分,首部分是Canvas基础内容,主要学习Canvas API语法,其中包括图形绘制、线条操作、文本操作、图片操作、变形操作、像素操作等各种基础

    大小:5.92 MBWeb前端

  • PHP web 程序设计教程与实验

    PHP web 程序设计教程与实验 课后答案

    本书以PHP 5为主要编程工具,以MySQL 4.1为Web数据库,结合多年的Web网站开发的实际经验和教学,全面地介绍开发Web动态网页的程序设计技*,内容包括Web基础、HTML基础、客户端脚本语言、动态Web网站环境的构建、PHP语法基础、PHP面向对象编程、MySQL数据库作、PHP访问MySQL数据库、会话和用户认证、XML语法、PHP 5的XML文档解析、基于PHP 5的Web服务、XML与数据库之间数据交换、网络考试应用系统实例等内容。 本书内容丰富,结构合理,由浅入深,例题丰富,实验

    大小:117 KBPHP web

  • Java高手真经系统架构卷:Java Web系统设计与架构

    Java高手真经系统架构卷:Java Web系统设计与架构

    Java高手真经:JavaWeb系统设计与架构(系统架构卷UML建模+设计模式+面向服务架构) 作者:刘中兵编著 出版时间:2009-12-1 【图书简介】 本书讲解JavaWeb系统设计与架构,包括Java与UML建模技术、Java设计模式、面向服务架构SOA、面向资源架构ROA、面向云架构COA,这5部分内容层层递进,涵盖了JavaEE开发中的各种设计与架构技术。讲解的主要内容包括如下。Java与UML建模:讲解UML建模的5类10种图,包括用例图、静态图(类图、对象图、包图)、实现图(组件图、

    大小:252.34MBJava

下载地址

学习笔记

2小时20分钟前回答

python selenium 查找隐藏元素 自动播放视频功能

在使用python做爬虫的过程中,有些页面的的部分数据是通过js异步加载的,js调用接口的请求中有时还带有些加密的参数很难破解无法使用requests这样的包直接爬取数据,因此需要借助seleniu来完成js的自动加载。 通过selenium 模拟浏览……