iOS自动化测试实战:基于Appium、Python与Pytest
定 价:89.8 元
- 作者:Storm 程立
- 出版时间:2025/6/1
- ISBN:9787115642578
- 出 版 社:人民邮电出版社
- 中图法分类:TN929.53
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
-
商品库位:
本书主要介绍iOS自动化测试的相关内容。本书首先介绍iOS基础知识;接着介绍测试环境部署、Appium基本操作和Appium终端操作,为读者学习后面的知识打下基础;然后介绍Appium中的元素定位、元素操作、高级操作、等待机制;最后讲述Pytest测试框架、项目实战、项目代码优化、自动化测试框架开发等。
本书适合测试人员和开发人员阅读。
Storm(杜子龙),测试工程师,信息系统项目管理师,注册渗透测试工程师,已出版多部测试类图书。
程立,河南工业大学人工智能与大数据学院讲师,主要研究方向包括网络安全与软件工程。
第 1章 概述1
1.1 当前软件测试的趋势2
1.2 为何要开展自动化测试3
1.3 为何要开展UI自动化测试4
1.4 UI自动化测试的流程6
1.4.1 需求分析6
1.4.2 方案选择7
1.4.3 环境准备8
1.4.4 系统设计9
1.4.5 编码规范确定9
1.4.6 编码11
1.5 深入思考11
第 2章 iOS基础知识13
2.1 移动操作系统概览14
2.2 App的类型与区别16
2.3 iOS App测试框架概览18
第3章 测试环境部署21
3.1 辅助环境部署22
3.1.1 安装Xcode22
3.1.2 安装Homebrew工具23
3.1.3 安装Node.js和NPM25
3.1.4 安装libimobiledevice26
3.1.5 安装Carthage27
3.1.6 安装ios-deploy27
3.2 编程环境部署28
3.2.1 安装Python28
3.2.2 Python虚拟环境29
3.2.3 安装PyCharm31
3.3 Appium环境部署35
3.3.1 安装Appium Server GUI35
3.3.2 安装Appium Server38
3.3.3 安装Appium-Python-Client39
3.3.4 初始化WebDriverAgent41
3.3.5 安装Appium Inspector42
3.3.6 安装Appium-doctor44
3.4 自动化测试示例项目45
3.5 测试环境及其部署总结45
第4章 Appium基本操作47
4.1 Appium的组件与工作原理48
4.1.1 Appium的组件48
4.1.2 Appium的工作原理49
4.2 Xcode基本操作53
4.2.1 Xcode模拟器的下载53
4.2.2 Xcode运行项目54
4.2.3 模拟器安装WDA56
4.3 Appium Desktop基本操作57
4.4 Appium Inspector基本操作60
4.4.1 Inspector参数设置61
4.4.2 Inspector定位元素62
第5章 Appium终端操作70
5.1 Capabilities简介71
5.2 第 一个Appium测试脚本72
5.3 Appium报错与解决方案73
5.4 Appium终端基本操作74
5.4.1 安装App74
5.4.2 判断App是否安装75
5.4.3 将App切换到后台运行75
5.4.4 移除App76
5.4.5 激活App76
5.4.6 终止App运行77
5.4.7 获取App的运行状态78
5.4.8 获取当前窗口的宽和高78
第6章 Appium中的元素定位81
6.1 元素定位方法概览82
6.2 通过ACCESSIBILITY_ID定位元素83
6.3 通过CLASS_NAME定位元素84
6.4 通过IOS_CLASS_CHAIN定位元素85
6.5 通过IOS_PREDICATE定位元素86
6.6 通过XPath定位元素90
6.7 使用相对方式定位元素91
6.8 定位组元素91
6.9 使用坐标单击元素94
第7章 Appium中的元素操作97
7.1 元素的基本操作98
7.1.1 单击操作98
7.1.2 输入操作99
7.1.3 清除操作100
7.1.4 提交操作100
7.2 元素的状态判断101
7.3 元素的属性值获取102
7.3.1 获取元素的id103
7.3.2 获取元素的text值103
7.3.3 获取元素的位置104
7.3.4 获取元素的其他信息105
第8章 Appium高级操作107
8.1 Appium Server 1.x中的触控操作108
8.1.1 轻触坐标点108
8.1.2 轻触目标元素109
8.1.3 长按操作109
8.1.4 长按、拖动操作110
8.1.5 多点触控111
8.2 Appium Server 2.x中的触控操作112
8.3 软键盘操作113
8.4 屏幕滑动操作113
8.5 屏幕截图操作115
8.6 Toast定位118
8.7 处理NSAlert118
第9章 Appium等待机制120
9.1 影响元素加载的外部因素121
9.2 强制等待121
9.3 隐式等待122
9.4 显式等待125
9.4.1 WebDriverWait类125
9.4.2 WebDriverWait类提供的方法126
9.4.3 expected_conditions类提供的条件127
9.4.4 自定义等待条件131
第 10章 Pytest测试框架133
10.1 Pytest简介134
10.2 Pytest测试固件136
10.3 Pytest组织测试用例和断言的方法141
10.4 Pytest框架测试执行142
10.5 测试用例重试144
10.6 标记机制146
10.6.1 对测试用例进行分级146
10.6.2 跳过某些测试用例148
10.7 全局设置151
10.7.1 准备测试目录151
10.7.2 执行全局测试153
10.8 测试报告154
10.8.1 pytest-html测试报告154
10.8.2 Allure测试报告156
10.9 Pytest与Appium161
10.10 Pytest参数化163
第 11章 项目实战165
11.1 真机环境部署166
11.2 自动化测试用例开发167
11.2.1 测试用例设计167
11.2.2 测试用例代码实现169
11.2.3 测试用例执行176
11.3 代码分析177
第 12章 项目代码优化179
12.1 提高测试用例的灵活性180
12.1.1 YAML180
12.1.2 YAML文件操作182
12.1.3 配置数据和代码的分离185
12.2 减少代码冗余191
12.2.1 conftest.py191
12.2.2 前置、后置代码的分离195
12.3 提高测试用例的可扩展性197
12.3.1 CSV文件198
12.3.2 CSV文件操作198
12.3.3 测试数据和代码的分离200
12.4 提高测试用例的可维护性201
12.4.1 页面对象实践202
12.4.2 “危机”应对211
12.4.3 新增的缺点217
第 13章
自动化测试框架开发219
13.1 自动化测试框架设计220
13.2 优化目录层级221
13.2.1 Python的os模块221
13.2.2 调整模块引用223
13.3 增加日志信息225
13.3.1 日志概述225
13.3.2 logging的用法226
13.3.3 给测试用例添加日志229
13.4 添加失败截图功能236
13.5 添加显式等待功能237
第 14章 与君共勉244
14.1 测试数据245
14.1.1 测试数据准备245
14.1.2 冗余数据处理246
14.2 提升效率247
14.3 模拟器与真机的异同248
附录A App的相关知识250
附录B 元素定位工具251
附录C iOS可用的Capabilities252
附录D 常用运算符254
附录E IOS_PREDICATE定位方式扩展255
附录F XPath的相关知识257
附录G 常用元素的类型及属性259
附录H 在macOS设备中安装Java260