Selenium WebDriver 3.0是一套功能强大的Web自动化测试工具。本书旨在展示如何利用Selenium WebDriver 3.0实现自动化测试。本书有助于测试人员快速掌握Selenium WebDriver 3.0的用法,提升自动化的效率,确保测试的稳定性和可靠性。 1.本书介绍了如何搭建测试框架,如何处理失败的测试,如何根据异常判断测试出错的原因,如何巧妙地选择等待策略和超时机制,如何使用页面对象避免失效,如何使用高级用户交互API执行复杂的操作,如何使用JavaScript解决复杂的自动化问题。另外,本书还讨论Selenium WebDriver 3.0的缺和在Docker中启动Selenium-Grid的方法等,内容十分全面。 2.本书不介绍如何编写那些厚重的测试框架,相反,本书将展示如何通过实用的附加功能来扩展Selenium,这些附加功能可以融Selenium提供的丰富且精心设计的API中。 3.本书的译者为该领域的专家,有着深厚的技术功底,语言简练准确,有着很高的专业素养。 4.书中的每个章节都附有作者写的小贴士,与读者分享了很多作者工作中的经验和教训,让读者在自己的工作中少走弯路。 5.读者可根据书中详细指导下载相关代码资源。
售 价:¥
纸质售价:¥62.40购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权
版权声明
内容提要
译者简介
译者序
审校者简介
前言
资源与支持
第1章 如何加快测试速度
1.1 使开发人员易于运行测试
1.2 使用Apache Maven构建测试项目
1.3 并行执行测试
1.4 使用TestNG进行并行测试
1.5 不存在银弹
1.6 多浏览器支持
1.7 自动下载WebDriver二进制文件
1.8 后台模式
GhostDriver的现状
1.9 总结
第2章 如何正确处理失败的测试
2.1 测试代码的位置
2.2 测试是一种实时文档
2.3 测试的可靠性
2.3.1 孤立的自动化团队
2.3.2 时好时坏的测试
2.4 增强测试的可靠性
2.4.1 Git
2.4.2 Subversion
2.5 关键在于持续集成
2.5.1 设置TeamCity
2.5.2 设置Jenkins
2.6 使用Selenium-Grid扩展功能
2.7 一图胜过千言万语
2.8 别畏惧庞大的错误栈追踪信息
2.9 总结
第3章 必知的异常
3.1 NoSuchElementException异常
3.2 NoSuchFrameException异常
3.3 NoSuchWindowException异常
3.4 ElementNotVisibleException异常
3.5 StaleElementReferenceException异常
3.6 InvalidElementStateException异常
3.7 UnsupportedCommandException异常
3.8 UnreachableBrowserException异常
3.9 SessionNotFoundException异常
3.10 WebDriverException异常——元素此时不可单击
3.11 NoAlertPresentException异常
3.12 总结
第4章 等待的艺术
4.1 页面真的准备好了吗
4.2 影响页面加载的外部因素
4.2.1 计算机规格因素
4.2.2 服务器规格因素
4.2.3 JavaScript引擎性能因素
4.2.4 网络因素
4.3 解决问题的思路
4.4 Selenium内置的等待机制
4.4.1 页面加载超时机制
4.4.2 脚本超时机制
4.4.3 隐式等待超时机制
4.5 使用显式等待
4.6 显式等待的核心——流式等待
4.6.1 函数
4.6.2 Java 8 Lambda表达式
4.7 总结
第5章 使用高效的页面对象
5.1 为何不断做重复的事情
5.2 一切始于页面对象
5.3 页面对象关注点的分离
5.4 Java PageFactory类简介
5.4.1 使用PageFactory 注释
5.4.2 初始化代理对象
5.4.3 PageFactory类存在的问题
5.5 Query对象简介
5.6 选择PageFactory类还是Query对象
5.7 创建可扩展的页面对象
5.8 将页面对象转换为易读的DSL
5.9 流式页面对象
5.10 总结
第6章 使用高级用户交互API
6.1 API简介
6.2 使用API解决困难问题
6.2.1 使用悬停菜单
6.2.2 使用拖放操作
6.2.3 使用偏移量
6.2.4 使用快捷访问键
6.2.5 高级交互API并非绝对有效
6.3 总结
第7章 使用Selenium执行JavaScript代码
7.1 JavaScript执行器简介
7.2 JavaScript执行器的误用与滥用
7.3 JavaScript执行器的正确用法
7.4 更复杂的案例
使用JavascriptExecutor执行复杂的JavaScript代码段
7.5 JavaScript库的导入方式
7.6 JavaScript库的导入原则
7.7 如何执行异步脚本
7.8 自动实现用户交互
7.9 总结
第8章 实事求是
8.1 使用Selenium下载文件
8.1.1 使用场景
8.1.2 面临的问题
8.1.3 下一步的行动
8.1.4 真需要下载文件吗
8.1.5 检查链接是否有效
8.1.6 下载文件的办法
8.1.7 使用Selenium协助下载文件
8.2 通过Selenium无法跟踪网络流量
8.3 跟踪网络流量的办法
8.4 使用Selenium编写性能测试
8.5 使用Selenium进行渗透测试
8.6 总结
第9章 将Docker整合到Selenium中
9.1 Docker简介
9.2 通过Docker启动Selenium-Grid
9.3 在新的Selenium-Grid上运行测试
9.4 将Docker容器的启动作为构建的一部分
9.5 使用Docker Maven插件
9.6 使用Docker Compose
9.7 Docker的不足之处
9.8 总结
第10章 展望Selenium的未来
10.1 机器学习——全新的追求
10.2 视觉验证
10.2.1 Applitools Eyes
10.2.2 引入人工智能
10.3 自我修复测试
10.4 自动编写测试
10.5 总结
附录A 如何进一步完善Selenium
A.1 如此惊艳的Selenium——我们如何才能使它锦上添花
A.2 前期准备事项
A.3 协助文档工作
A.4 代码改进
A.5 保持提交的历史记录的整洁性
A.6 一切就绪,该你出场了
附录B 使用JUnit
B.1 从TestNG转到JUnit
B.2 总结
附录C Appium简介
C.1 创建Appium框架
C.2 对Android 计算器进行自动化
C.3 通过Maven运行测试
C.4 通过Maven启动和停止Appium
C.5 总结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜