章自动化测试概述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.1TestNG简介12
2.2测试前的准备工作12
2.2.1配置Maven12
2.2.2创建工程14
2.2.3测试执行16
2.3TestNG注解19
2.3.1前置条件和后置条件20
2.3.2数据驱动24
2.3.3测试用例25
2.4testng.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.4Spring的单元自动化测试42
3.4.1Java企业级应用简介42
3.4.2编写待测程序44
3.4.3单元自动化测试50
第4章HTTP接口自动化测试56
4.1HTTP简介56
4.2部署待测程序57
4.3手工测试用例设计58
4.3.1分析待测接口58
4.3.2测试用例设计60
4.4HttpClient用法62
4.4.1HttpClient简介62
4.4.2创建工程63
4.4.3发送HTTP请求64
4.4.4处理服务器响应66
4.4.5设置请求头68
4.5TestNG集成HttpClient68
4.5.1RESTful接口自动化测试69
4.5.2SOAP接口自动化测试81
第5章RPC接口自动化测试87
5.1RPC简介87
5.2部署待测程序88
5.3手工测试用例设计90
5.3.1分析待测接口90
5.3.2测试用例设计91
5.4TestNGDubbo接口自动化测试92
5.4.1基于XML方式94
5.4.2基于API方式99
5.4.3基于注解方式100
5.4.4泛化调用102
第6章Web自动化测试107
6.1Web自动化测试工具(框架)简介107
6.2部署待测程序108
6.3Selenium用法109
6.3.1准备109
6.3.2元素操作110
6.3.3鼠标事件115
6.3.4键盘事件118
6.3.5浏览器操作119
6.3.6JavaScript对话框处理121
6.3.7等待处理124
6.4TestNG集成Selenium129
第7章Android自动化测试133
7.1Android自动化测试工具(框架)简介133
7.2安装待测应用134
7.3Appium用法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.4TestNG集成Appium148
第8章iOS自动化测试151
8.1iOS自动化测试工具(框架)简介151
8.2待测应用开发151
8.2.1工程创建152
8.2.2界面开发152
8.2.3逻辑开发155
8.3Appium的用法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.4TestNG集成Appium171
第9章自动化测试实战174
9.1实战项目部署安装174
9.1.1JForum论坛部署174
9.1.2AnExplorer文件管理器安装177
9.2Web自动化测试实战177
9.2.1分层和解耦177
9.2.2公共函数和业务函数封装180
9.2.3自动化测试用例编写186
9.2.4测试数据准备189
9.3Android自动化测试实战192
9.3.1工程准备192
9.3.2PageObject设计模式193
9.3.3页面对象层封装195
9.3.4业务逻辑层封装203
9.3.5自动化测试用例编写204
9.4进一步优化207
0章持续集成208
10.1持续集成、持续交付和持续部署208
10.2Jenkins的重要功能简介209
10.2.1Jenkins部署209
10.2.2任务管理211
10.2.3构建管理212
10.2.4节点管理213
10.2.5插件管理213
10.2.6用户管理215
10.3TestNG集成到Jenkins216
10.3.1TestNG工程创建216
10.3.2SVN部署及使用218
10.3.3JDK和Maven配置220
10.3.4把TestNG集成到Jenkins221
1章Mock测试和代码覆盖率225
11.1单元Mock测试225
11.1.1单元Mock测试简介225
11.2.2Mockito用法225
11.2接口Mock测试230
11.2.1接口Mock测试简介230
11.2.2RAP2用法230
11.3代码覆盖率简介234
11.4JaCoCo用法235
11.4.1JaCoCo计数器235
11.4.2使用EclEmma插件236
11.4.3Maven集成JaCoCo239