书籍详情
Android自动化测试实战:Python+Appium +unittest
作者:Storm 梁培峰
出版社:人民邮电出版社
出版时间:2024-01-01
ISBN:9787115623133
定价:¥89.80
购买这本书可以去
内容简介
本书主要介绍Android自动化测试的相关内容:首先介绍自动化测试的市场情况和行业前景;接着介绍Android的相关知识,包括系统概览、环境搭建等,为读者学习后面的知识打下基础;最后介绍自动化测试的相关内容,包括元素识别与定位、等待机制、测试框架等,通过实战案例帮助读者快速掌握自动化测试技术。全书语言通俗易懂,讲解透彻,案例丰富。本书适合计算机相关专业的学生和测试行业的从业人员阅读。
作者简介
Storm(杜子龙),先后就读于中南民族大学、北京科技大学,并取得渗透测试工程师证书。某公司 CNAS检测实验室技术负责人,CSDN 博客专家,著 有 图 书《 接 口 自 动 化 测 试 持 续 集 成:Postman Newman Git Jenkins钉 钉 》和《Python 实现 Web UI 自动化测试实战:Selenium 3/4 unittest/Pytest GitLab Jenkins》。 梁培峰,副教授,CCF会 员,JSAI会员。2021年获日本早稻田大学计算机与信息科学专业博士学位,现执教于江苏理工学院计算机工程学院。主要研究方向:机器学习和深度学习、人工智能与模式识别、智能计算。
目录
第 1章 自动化测试简介
1.1 当前软件测试的趋势 2
1.2 测试金字塔模型 4
1.3 自动化测试分层 5
1.4 UI自动化测试流程 7
1.5 测试质量评估 12
第2章 Android基础知识
2.1 移动设备操作系统概览 15
2.1.1 Android 15
2.1.2 iOS 20
2.2 App的类型与区别 20
2.3 Android App测试框架概览 23
第3章 搭建Android环境
3.1 准备Java环境26
3.2 准备Android SDK环境29
3.2.1 Android SDK下载、安装30
3.2.2 Android SDK环境变量设置31
3.3 安装Android模拟器32
3.4 准备Python环境34
3.5 安装PyCharm37
3.6 Python虚拟环境43
第4章 Android adb介绍
4.1 adb的工作原理46
4.2 启动设备或模拟器调试48
4.3 adb常用命令48
4.3.1 查看adb的版本49
4.3.2 连接或断开设备49
4.3.3 查看连接设备的信息50
4.3.4 adb shell50
4.3.5 安装App52
4.3.6 卸载App53
4.3.7 推送文件54
4.3.8 下载文件54
4.3.9 查看包名55
4.3.10 查看Activity56
4.3.11 启动、关闭adb服务57
4.3.12 屏幕截图57
第5章 monkey和monkeyrunner
5.1 monkey59
5.1.1 monkey简介59
5.1.2 monkey的参数60
5.1.3 monkey命令示例62
5.1.4 App压力测试69
5.1.5 特定场景压力测试71
5.1.6 日志管理74
5.2 monkeyrunner76
5.2.1 monkeyrunner简介77
5.2.2 monkeyrunner API78
5.2.3 综合案例81
第6章 Appium基础知识
6.1 Appium简介85
6.2 Appium的组件及运行原理87
6.2.1 Appium的组件87
6.2.2 Appium Android的运行原理88
6.3 Appium环境搭建89
6.3.1 通过GUI部署Appium Server89
6.3.2 通过命令行部署Appium Server93
6.3.3 安装Appium-Python-Client96
6.3.4 安装appium-doctor98
6.4 Desired Capability简介99
6.5 第 一个Appium脚本100
6.6 Appium报错和解决方案102
6.7 Appium终端基本操作104
第7章 Appium之元素识别与定位
7.1 UI Automator Viewer工具114
7.2 Appium Inspector工具119
7.2.1 Inspector安装120
7.2.2 Inspector参数设置122
7.2.3 Inspector识别元素123
7.3 Appium元素定位方法概览130
7.4 常规元素属性定位方法132
7.5 通用元素定位方法133
7.6 uiautomator元素定位方法136
7.6.1 UiSelector的基本方法136
7.6.2 通过text定位138
7.6.3 通过resourceId定位141
7.6.4 通过className定位143
7.6.5 通过description定位143
7.6.6 组合定位144
7.6.7 父子、兄弟关系定位145
7.6.8 控件特性定位145
7.6.9 索引、实例定位146
7.7 组元素定位方法146
7.8 XPath定位149
7.9 坐标单击152
7.10 Lazy Ui Automator Viewer154
第8章 Appium基本操作
8.1 元素的基本操作158
8.1.1 单击操作158
8.1.2 输入操作159
8.1.3 清除操作159
8.1.4 提交操作160
8.1.5 键盘操作161
8.2 元素的状态判断163
8.3 元素的属性值获取165
第9章 Appium基本操作
9.1 W3C Actions170
9.1.1 W3C Actions简介170
9.1.2 短暂触屏174
9.1.3 长按操作175
9.1.4 左滑操作176
9.1.5 多指触控178
9.2 Toast元素识别179
9.3 Hybrid App操作181
9.3.1 Context简介181
9.3.2 环境准备182
9.3.3 context操作183
9.4 屏幕截图185
9.5 屏幕熄屏、亮屏188
第10章 Appium等待机制
10.1 影响元素加载的外部因素191
10.2 强制等待192
10.3 隐性等待193
10.4 显性等待195
第11章 自动化测试用例开发
11.1 测试用例设计204
11.2 测试用例代码实现205
11.3 代码分析211
第12章 unittest测试框架
12.1 unittest框架结构213
12.2 测试固件215
12.3 编写测试用例217
12.4 执行测试用例218
12.5 用例执行顺序222
12.6 内置装饰器224
12.7 命令行执行测试227
12.8 批量执行测试文件229
12.9 测试断言231
12.10 测试报告232
12.11 unittest和Appium235
12.12 unittest参数化241
12.12.1 unittest DDT243
12.12.2 unittest parameterized246
第13章 测试配置及数据分离
13.1 测试配置分离249
13.1.1 YAML简介249
13.1.2 YAML文件操作252
13.1.3 Capability配置数据分离实践254
13.2 测试固件与用例代码分离257
13.3 测试数据分离259
13.3.1 CSV简介259
13.3.2 CSV文件操作259
13.3.3 测试数据分离实践261
第14章 Page Object设计模式
14.1 Page Object实践264
14.2 “危机”应对274
14.3 新生“危机”278
第15章 自动化测试框架开发
15.1 框架设计281
15.2 优化目录层级282
15.2.1 Python os模块282
15.2.2 调整模块引用284
15.3 增加日志信息287
15.3.1 日志概述287
15.3.2 Python logging用法解析288
15.3.3 为测试用例增加日志292
15.4 增加页面截图功能299
15.4.1 断言失败截图299
15.4.2 元素定位失败截图301
15.5 增加显性等待功能301
第16章 与君共勉
16.1 关于测试数据309
16.1.1 测试数据准备309
16.1.2 冗余数据处理310
16.2 提升稳定性311
16.3 提升效率312
16.4 模拟器或真机312
附录
附录A 自动化测试开展原则315
附录B 夜神模拟器316
附录C adb常见错误318
附录D 公共及Android独有Capabilities319
附录E Android KEYCODE常用键值对应关系323
1.1 当前软件测试的趋势 2
1.2 测试金字塔模型 4
1.3 自动化测试分层 5
1.4 UI自动化测试流程 7
1.5 测试质量评估 12
第2章 Android基础知识
2.1 移动设备操作系统概览 15
2.1.1 Android 15
2.1.2 iOS 20
2.2 App的类型与区别 20
2.3 Android App测试框架概览 23
第3章 搭建Android环境
3.1 准备Java环境26
3.2 准备Android SDK环境29
3.2.1 Android SDK下载、安装30
3.2.2 Android SDK环境变量设置31
3.3 安装Android模拟器32
3.4 准备Python环境34
3.5 安装PyCharm37
3.6 Python虚拟环境43
第4章 Android adb介绍
4.1 adb的工作原理46
4.2 启动设备或模拟器调试48
4.3 adb常用命令48
4.3.1 查看adb的版本49
4.3.2 连接或断开设备49
4.3.3 查看连接设备的信息50
4.3.4 adb shell50
4.3.5 安装App52
4.3.6 卸载App53
4.3.7 推送文件54
4.3.8 下载文件54
4.3.9 查看包名55
4.3.10 查看Activity56
4.3.11 启动、关闭adb服务57
4.3.12 屏幕截图57
第5章 monkey和monkeyrunner
5.1 monkey59
5.1.1 monkey简介59
5.1.2 monkey的参数60
5.1.3 monkey命令示例62
5.1.4 App压力测试69
5.1.5 特定场景压力测试71
5.1.6 日志管理74
5.2 monkeyrunner76
5.2.1 monkeyrunner简介77
5.2.2 monkeyrunner API78
5.2.3 综合案例81
第6章 Appium基础知识
6.1 Appium简介85
6.2 Appium的组件及运行原理87
6.2.1 Appium的组件87
6.2.2 Appium Android的运行原理88
6.3 Appium环境搭建89
6.3.1 通过GUI部署Appium Server89
6.3.2 通过命令行部署Appium Server93
6.3.3 安装Appium-Python-Client96
6.3.4 安装appium-doctor98
6.4 Desired Capability简介99
6.5 第 一个Appium脚本100
6.6 Appium报错和解决方案102
6.7 Appium终端基本操作104
第7章 Appium之元素识别与定位
7.1 UI Automator Viewer工具114
7.2 Appium Inspector工具119
7.2.1 Inspector安装120
7.2.2 Inspector参数设置122
7.2.3 Inspector识别元素123
7.3 Appium元素定位方法概览130
7.4 常规元素属性定位方法132
7.5 通用元素定位方法133
7.6 uiautomator元素定位方法136
7.6.1 UiSelector的基本方法136
7.6.2 通过text定位138
7.6.3 通过resourceId定位141
7.6.4 通过className定位143
7.6.5 通过description定位143
7.6.6 组合定位144
7.6.7 父子、兄弟关系定位145
7.6.8 控件特性定位145
7.6.9 索引、实例定位146
7.7 组元素定位方法146
7.8 XPath定位149
7.9 坐标单击152
7.10 Lazy Ui Automator Viewer154
第8章 Appium基本操作
8.1 元素的基本操作158
8.1.1 单击操作158
8.1.2 输入操作159
8.1.3 清除操作159
8.1.4 提交操作160
8.1.5 键盘操作161
8.2 元素的状态判断163
8.3 元素的属性值获取165
第9章 Appium基本操作
9.1 W3C Actions170
9.1.1 W3C Actions简介170
9.1.2 短暂触屏174
9.1.3 长按操作175
9.1.4 左滑操作176
9.1.5 多指触控178
9.2 Toast元素识别179
9.3 Hybrid App操作181
9.3.1 Context简介181
9.3.2 环境准备182
9.3.3 context操作183
9.4 屏幕截图185
9.5 屏幕熄屏、亮屏188
第10章 Appium等待机制
10.1 影响元素加载的外部因素191
10.2 强制等待192
10.3 隐性等待193
10.4 显性等待195
第11章 自动化测试用例开发
11.1 测试用例设计204
11.2 测试用例代码实现205
11.3 代码分析211
第12章 unittest测试框架
12.1 unittest框架结构213
12.2 测试固件215
12.3 编写测试用例217
12.4 执行测试用例218
12.5 用例执行顺序222
12.6 内置装饰器224
12.7 命令行执行测试227
12.8 批量执行测试文件229
12.9 测试断言231
12.10 测试报告232
12.11 unittest和Appium235
12.12 unittest参数化241
12.12.1 unittest DDT243
12.12.2 unittest parameterized246
第13章 测试配置及数据分离
13.1 测试配置分离249
13.1.1 YAML简介249
13.1.2 YAML文件操作252
13.1.3 Capability配置数据分离实践254
13.2 测试固件与用例代码分离257
13.3 测试数据分离259
13.3.1 CSV简介259
13.3.2 CSV文件操作259
13.3.3 测试数据分离实践261
第14章 Page Object设计模式
14.1 Page Object实践264
14.2 “危机”应对274
14.3 新生“危机”278
第15章 自动化测试框架开发
15.1 框架设计281
15.2 优化目录层级282
15.2.1 Python os模块282
15.2.2 调整模块引用284
15.3 增加日志信息287
15.3.1 日志概述287
15.3.2 Python logging用法解析288
15.3.3 为测试用例增加日志292
15.4 增加页面截图功能299
15.4.1 断言失败截图299
15.4.2 元素定位失败截图301
15.5 增加显性等待功能301
第16章 与君共勉
16.1 关于测试数据309
16.1.1 测试数据准备309
16.1.2 冗余数据处理310
16.2 提升稳定性311
16.3 提升效率312
16.4 模拟器或真机312
附录
附录A 自动化测试开展原则315
附录B 夜神模拟器316
附录C adb常见错误318
附录D 公共及Android独有Capabilities319
附录E Android KEYCODE常用键值对应关系323
猜您喜欢