Android自动化测试实战:Python+Appium +unittest
Storm 梁培峰更新时间:2024-02-28 18:14:22
最新章节:附录E Android KEYCODE常用键值对应关系封面
版权信息
版权
内容提要
前言
为什么要写这本书
阅读本书的建议
本书配套资源
致谢
第1章 自动化测试简介
1.1 当前软件测试的趋势
1.2 测试金字塔模型
1.3 自动化测试分层
1.4 UI自动化测试流程
1.5 测试质量评估
第2章 Android基础知识
2.1 移动设备操作系统概览
2.1.1 Android
2.1.2 iOS
2.2 App的类型与区别
2.3 Android App测试框架概览
第3章 搭建Android环境
3.1 准备Java环境
3.2 准备Android SDK环境
3.2.1 Android SDK下载、安装
3.2.2 Android SDK环境变量设置
3.3 安装Android模拟器
3.4 准备Python环境
3.5 安装PyCharm
3.6 Python虚拟环境
第4章 Android adb介绍
4.1 adb的工作原理
4.2 启动设备或模拟器调试
4.3 adb常用命令
4.3.1 查看adb的版本
4.3.2 连接或断开设备
4.3.3 查看连接设备的信息
4.3.4 adb shell
4.3.5 安装App
4.3.6 卸载App
4.3.7 推送文件
4.3.8 下载文件
4.3.9 查看包名
4.3.10 查看Activity
4.3.11 启动、关闭adb服务
4.3.12 屏幕截图
第5章 monkey和monkeyrunner
5.1 monkey
5.1.1 monkey简介
5.1.2 monkey的参数
5.1.3 monkey命令示例
5.1.4 App压力测试
5.1.5 特定场景压力测试
5.1.6 日志管理
5.2 monkeyrunner
5.2.1 monkeyrunner简介
5.2.2 monkeyrunner API
5.2.3 综合案例
第6章 Appium基础知识
6.1 Appium简介
6.2 Appium的组件及运行原理
6.2.1 Appium的组件
6.2.2 Appium Android的运行原理
6.3 Appium环境搭建
6.3.1 通过GUI部署Appium Server
6.3.2 通过命令行部署Appium Server
6.3.3 安装Appium-Python-Client
6.3.4 安装appium-doctor
6.4 Desired Capability简介
6.5 第一个Appium脚本
6.6 Appium报错和解决方案
6.7 Appium终端基本操作
第7章 Appium之元素识别与定位
7.1 UI Automator Viewer工具
7.2 Appium Inspector工具
7.2.1 Inspector安装
7.2.2 Inspector参数设置
7.2.3 Inspector识别元素
7.3 Appium元素定位方法概览
7.4 常规元素属性定位方法
7.5 通用元素定位方法
7.6 uiautomator元素定位方法
7.6.1 UiSelector的基本方法
7.6.2 通过text定位
7.6.3 通过resourceId定位
7.6.4 通过className定位
7.6.5 通过description定位
7.6.6 组合定位
7.6.7 父子、兄弟关系定位
7.6.8 控件特性定位
7.6.9 索引、实例定位
7.7 组元素定位方法
7.8 XPath定位
7.9 坐标单击
7.10 Lazy Ui Automator Viewer
第8章 Appium基本操作
8.1 元素的基本操作
8.1.1 单击操作
8.1.2 输入操作
8.1.3 清除操作
8.1.4 提交操作
8.1.5 键盘操作
8.2 元素的状态判断
8.3 元素的属性值获取
第9章 Appium高级操作
9.1 W3C Actions
9.1.1 W3C Actions简介
9.1.2 短暂触屏
9.1.3 长按操作
9.1.4 左滑操作
9.1.5 多指触控
9.2 Toast元素识别
9.3 Hybrid App操作
9.3.1 Context简介
9.3.2 环境准备
9.3.3 context操作
9.4 屏幕截图
9.5 屏幕熄屏、亮屏
第10章 Appium等待机制
10.1 影响元素加载的外部因素
10.2 强制等待
10.3 隐性等待
10.4 显性等待
第11章 自动化测试用例开发
11.1 测试用例设计
11.2 测试用例代码实现
11.3 代码分析
第12章 unittest测试框架
12.1 unittest框架结构
12.2 测试固件
12.3 编写测试用例
12.4 执行测试用例
12.5 用例执行顺序
12.6 内置装饰器
12.7 命令行执行测试
12.8 批量执行测试文件
12.9 测试断言
12.10 测试报告
12.11 unittest和Appium
12.12 unittest参数化
12.12.1 unittest+DDT
12.12.2 unittest+ parameterized
第13章 测试配置及数据分离
13.1 测试配置分离
13.1.1 YAML简介
13.1.2 YAML文件操作
13.1.3 Capability配置数据分离实践
13.2 测试固件与用例代码分离
13.3 测试数据分离
13.3.1 CSV简介
13.3.2 CSV文件操作
13.3.3 测试数据分离实践
第14章 Page Object设计模式
14.1 Page Object实践
14.2 “危机”应对
14.3 新生“危机”
第15章 自动化测试框架开发
15.1 框架设计
15.2 优化目录层级
15.2.1 Python os模块
15.2.2 调整模块引用
15.3 增加日志信息
15.3.1 日志概述
15.3.2 Python logging用法解析
15.3.3 为测试用例增加日志
15.4 增加页面截图功能
15.4.1 断言失败截图
15.4.2 元素定位失败截图
15.5 增加显性等待功能
第16章 与君共勉
16.1 关于测试数据
16.1.1 测试数据准备
16.1.2 冗余数据处理
16.2 提升稳定性
16.3 提升效率
16.4 模拟器或真机
附录
附录A 自动化测试开展原则
附录B 夜神模拟器
附录C adb常见错误
附录D 公共及Android独有Capabilities
附录E Android KEYCODE常用键值对应关系
更新时间:2024-02-28 18:14:22