×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787115515476
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:313
  • 出版时间:2018-03-01
  • 条形码:9787115515476 ; 978-7-115-51547-6

本书特色

本书通过大量测试代码、界面截图和操作步骤,介绍了如何使用Selenium WebDriver 3.0实现Web自动化测试。主要内容包括如何构建测试框架、如何处理失败的测试、Selenium生成的各种异常的含义、自动化测试失败的原因、页面对象的使用方法、高级用户交互API的使用方法、JavascriptExecutor类的使用方法、Selenium的缺点、如何在Selenium中使用Docker等。 本书有助于读者快速掌握并在实际工作中使用Selenium WebDriver 3.0,适合测试人员、开发人员以及相关专业人士阅读。

内容简介

本书通过大量测试代码、界面截图和操作步骤,介绍了如何使用Selenium WebDriver 3.0实现Web自动化测试。主要内容包括如何构建测试框架、如何处理失败的测试、Selenium生成的各种异常的含义、自动化测试失败的原因、页面对象的使用方法、不错用户交互API的使用方法、JavascriptExecutor类的使用方法、Selenium的缺点、如何在Selenium中使用Docker等。 本书有助于读者快速掌握并在实际工作中使用Selenium WebDriver 3.0,适合测试人员、开发人员以及相关专业人士阅读。

目录

第 1章 如何加快测试速度 1

1.1 使开发人员易于运行测试 2

1.2 使用Apache Maven构建测试项目 2

1.3 并行执行测试 8

1.4 使用TestNG进行并行测试 11

1.5 不存在银弹 21

1.6 多浏览器支持 22

1.7 自动下载WebDriver二进制文件 30

1.8 后台模式 38

1.9 总结 43



第 2章 如何正确处理失败的测试 44

2.1 测试代码的位置 44

2.2 测试是一种实时文档 45

2.3 测试的可靠性 47

 2.3.1 孤立的自动化团队 47

 2.3.2 时好时坏的测试 48

2.4 增强测试的可靠性 49

 2.4.1 Git 50

 2.4.2 Subversion 51

2.5 关键在于持续集成 52

 2.5.1 设置TeamCity 55

 2.5.2 设置Jenkins 61

2.6 使用Selenium-Grid扩展功能 68

2.7 一图胜过千言万语 73

2.8 别畏惧庞大的错误栈追踪信息 79

2.9 总结 83



第3章 必知的异常 84

3.1 NoSuchElementException异常 84

3.2 NoSuchFrameException异常 86

3.3 NoSuchWindowException异常 86

3.4 ElementNotVisibleException异常 87

3.5 StaleElementReferenceException异常 87

3.6 InvalidElementStateException异常 90

3.7 UnsupportedCommandException异常 90

3.8 UnreachableBrowserException异常 91

3.9 SessionNotFoundException异常 93

3.10 WebDriverException异常—元素此时不可单击 93

3.11 NoAlertPresentException异常 94

3.12 总结 94



第4章 等待的艺术 95

4.1 页面真的准备好了吗 95

4.2 影响页面加载的外部因素 96

 4.2.1 计算机规格因素 96

 4.2.2 服务器规格因素 96

 4.2.3 JavaScript引擎性能因素 97

 4.2.4 网络因素 97

4.3 解决问题的思路 97

4.4 Selenium内置的等待机制 98

 4.4.1 页面加载超时机制 99

 4.4.2 脚本超时机制 99

 4.4.3 隐式等待超时机制 100

4.5 使用显式等待 104

4.6 显式等待的核心——流式等待 106

 4.6.1 函数 108

 4.6.2 Java 8 Lambda表达式 111

4.7 总结 112



第5章 使用高效的页面对象 113

5.1 为何不断做重复的事情 113

5.2 一切始于页面对象 121

5.3 页面对象关注点的分离 123

5.4 Java PageFactory类简介 125

 5.4.1 使用PageFactory注释 125

 5.4.2 初始化代理对象 127

 5.4.3 PageFactory类存在的问题 129

5.5 Query对象简介 130

5.6 选择PageFactory类还是Query对象 133

5.7 创建可扩展的页面对象 133

5.8 将页面对象转换为易读的DSL 137

5.9 流式页面对象 140

5.10 总结 144



第6章 使用高级用户交互API 145

6.1 API简介 146

6.2 使用API解决困难问题 147

 6.2.1 使用悬停菜单 147

 6.2.2 使用拖放操作 151

 6.2.3 使用偏移量 155

 6.2.4 使用快捷访问键 162

 6.2.5 高级交互API并非绝对有效 170

6.3 总结 171



第7章 使用Selenium执行JavaScript代码 172

7.1 JavaScript执行器简介 172

7.2 JavaScript执行器的误用与滥用 175

7.3 JavaScript执行器的正确用法 176

7.4 更复杂的案例 177

7.5 JavaScript库的导入方式 184

7.6 JavaScript库的导入原则 186

7.7 如何执行异步脚本 186

7.8 自动实现用户交互 188

7.9 总结 191



第8章 实事求是 192

8.1 使用Selenium下载文件 192

 8.1.1 使用场景 192

 8.1.2 面临的问题 193

 8.1.3 下一步的行动 193

 8.1.4 真需要下载文件吗 194

 8.1.5 检查链接是否有效 194

 8.1.6 下载文件的办法 202

 8.1.7 使用Selenium协助下载文件 204

8.2 通过Selenium无法跟踪网络流量 211

8.3 跟踪网络流量的办法 212

8.4 使用Selenium编写性能测试 222

8.5 使用Selenium进行渗透测试 225

8.6 总结 228



第9章 将Docker整合到Selenium中 229

9.1 Docker简介 229

9.2 通过Docker启动Selenium-Grid 232

9.3 在新的Selenium-Grid上运行测试 237

9.4 将Docker容器的启动作为构建的一部分 238

9.5 使用Docker Maven插件 242

9.6 使用Docker Compose 245

9.7 Docker的不足之处 247

9.8 总结 247



第 10章 展望Selenium的未来 249

10.1 机器学习—全新的追求 249

10.2 视觉验证 251

 10.2.1 Applitools Eyes 253

 10.2.2 引入人工智能 260

10.3 自我修复测试 262

10.4 自动编写测试 264

10.5 总结 264



附录A 如何进一步完善Selenium 265

附录B 使用JUnit 280

附录C Appium简介 288













展开全部

作者简介

Mark Collin是一名专业的软件测试人员,自2001年以来一直从事软件测试工作,精通自动化测试、安全测试、渗透测试和性能测试。曾负责多家大型公司的众多测试项目。他是driver-binary-downloader-maven-plugin工具的创建者和维护者,还是jmeter-maven-plugin工具的核心贡献者。他还为核心Selenium代码库贡献了大量代码。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航