全栈自动化测试实战——基于TestNG、HttpClient、Selenium和Appium

作者
卢家涛
丛书名
出版社
电子工业出版社
ISBN
9787121383823
简要
简介
内容简介书籍计算机书籍 TestNG 作为Java 中举足轻重的测试框架,除可以替代JUnit 进行单元自动化测试外,还可以通过集成Selenium、Appium 和HttpClient 等框架做各种类型的自动化测试。本书首先对自动化测试进行了概述,接着对TestNG 的语法进行了讲解,核心部分是使用TestNG 进行单元自动化测试、接口自动化测试和界面自动化测试,*后介绍了持续集成、Mock 测试和代码覆盖率等扩展知识。本书适合测试工程师、自动化测试工程师和测试管理者阅读。
目录
第1 章 自动化测试概述 1

1.1 自动化测试定义和分类 . 1

1.2 自动化测试的目的 . 3

1.2.1 提高软件质量 3

1.2.2 提高测试效率 5

1.3 自动化测试实施三要素 . 6

1.3.1 有明确的目标 6

1.3.2 有足够的资源 7

1.3.3 有合理的计划 8



第2 章 TestNG 语法 . 12

2.1 TestNG 简介 12

2.2 测试前的准备工作 . 12

2.2.1 配置Maven 12

2.2.2 创建工程 14

2.2.3 测试执行 16

2.3 TestNG 注解 19

2.3.1 前置条件和后置条件 20

2.3.2 数据驱动 24

2.3.3 测试用例 25

2.4 testng.xml. 28

2.4.1 <package> 28

2.4.2 <include>和<exclude> . 30

2.4.3 <parameter>标签 32



第3 章 单元自动化测试 34

3.1 编写待测程序 . 34

3.2 手工测试用例设计 . 35

3.2.1 分析待测程序 35

3.2.2 测试用例设计 35

3.3 设计自动化测试用例 . 36

3.3.1 基于JUnit 设计自动化测试用例 36

3.3.2 基于TestNG 设计自动化测试用例 38

3.4 Spring 的单元自动化测试 42

3.4.1 Java 企业级应用简介 42

3.4.2 编写待测程序 44

3.4.3 单元自动化测试 50



第4 章 HTTP 接口自动化测试 56

4.1 HTTP 简介 56

4.2 部署待测程序 . 57

4.3 手工测试用例设计 . 58

4.3.1 分析待测接口 58

4.3.2 测试用例设计 60

4.4 HttpClient 用法 . 62

4.4.1 HttpClient 简介 62

4.4.2 创建工程 63

4.4.3 发送HTTP 请求 64

4.4.4 处理服务器响应 66

4.4.5 设置请求头 68

4.5 TestNG 集成HttpClient 68

4.5.1 RESTful 接口自动化测试 . 69

4.5.2 SOAP 接口自动化测试 . 81



第5 章 RPC 接口自动化测试 . 87

5.1 RPC 简介 . 87

5.2 部署待测程序 . 88

5.3 手工测试用例设计 . 90

5.3.1 分析待测接口 90

5.3.2 测试用例设计 91

5.4 TestNG Dubbo 接口自动化测试 92

5.4.1 基于XML 方式 . 94

5.4.2 基于API 方式 99

5.4.3 基于注解方式 100

5.4.4 泛化调用 102



第6 章 Web 自动化测试 . 107

6.1 Web 自动化测试工具(框架)简介 . 107

6.2 部署待测程序 . 108

6.3 Selenium 用法 . 109

6.3.1 准备 109

6.3.2 元素操作 110

6.3.3 鼠标事件 115

6.3.4 键盘事件 118

6.3.5 浏览器操作 119

6.3.6 JavaScript 对话框处理 121

6.3.7 等待处理 124

6.4 TestNG 集成Selenium 129



第7 章 Android 自动化测试 133

7.1 Android 自动化测试工具(框架)简介 . 133

7.2 安装待测应用 . 134

7.3 Appium 用法 . 134

7.3.1 准备 134

7.3.2 初始化参数 136

7.3.3 元素操作 139

7.3.4 应用操作 145

7.3.5 系统操作 146

7.3.6 使用Android 模拟器 . 147

7.4 TestNG 集成Appium 148



第8 章 iOS 自动化测试 151

8.1 iOS 自动化测试工具(框架)简介 151

8.2 待测应用开发 . 151

8.2.1 工程创建 152

8.2.2 界面开发 152

8.2.3 逻辑开发 155

8.3 Appium 的用法 . 159

8.3.1 准备 159

8.3.2 初始化参数 160

8.3.3 元素操作 161

8.3.4 应用操作 167

8.3.5 系统操作 169

8.3.6 使用iOS 模拟器 169

8.4 TestNG 集成Appium 171



第9 章 自动化测试实战 174

9.1 实战项目部署安装 . 174

9.1.1 JForum 论坛部署 . 174

9.1.2 AnExplorer 文件管理器安装 177

9.2 Web 自动化测试实战 . 177

9.2.1 分层和解耦 177

9.2.2 公共函数和业务函数封装 180

9.2.3 自动化测试用例编写 186

9.2.4 测试数据准备 189

9.3 Android 自动化测试实战 . 192

9.3.1 工程准备 192

9.3.2 Page Object 设计模式 193

9.3.3 页面对象层封装 195

9.3.4 业务逻辑层封装 203

9.3.5 自动化测试用例编写 204

9.4 进一步优化 . 207



第10 章 持续集成 208

10.1 持续集成、持续交付和持续部署 208

10.2 Jenkins 的重要功能简介 209

10.2.1 Jenkins 部署 . 209

10.2.2 任务管理 211

10.2.3 构建管理 212

10.2.4 节点管理 213

10.2.5 插件管理 213

10.2.6 用户管理 215

10.3 TestNG 集成到Jenkins . 216

10.3.1 TestNG 工程创建 . 216

10.3.2 SVN 部署及使用 . 218

10.3.3 JDK 和Maven 配置 . 220

10.3.4 把TestNG 集成到Jenkins . 221



第11 章 Mock 测试和代码覆盖率 . 225

11.1 单元Mock 测试 225

11.1.1 单元Mock 测试简介 . 225

11.2.2 Mockito 用法 225

11.2 接口Mock 测试 230

11.2.1 接口Mock 测试简介 . 230

11.2.2 RAP2 用法 . 230

11.3 代码覆盖率简介 234

11.4 JaCoCo 用法 235

11.4.1 JaCoCo 计数器 . 235

11.4.2 使用EclEmma 插件. 236

11.4.3 Maven 集成JaCoCo. 239



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4