基于Appium、Python与Pytest,系统讲述iOS测试的技术、方法和工具 在软件测试领域,Appium和Pytest都是重要的测试框架。其中Appium支持iOS平台与Android平台上的原生应用、Web应用和混合应用的测试;Pytest支持简单的单元测试和复杂的功能测试。本书基于Appium和Pytest测试框架,系统讲述iOS自动化测试的相关内容有助于读者提高测试水平,提升测试效率。 本书主要内容 ·iOS基础知识;
售 价:¥
纸质售价:¥69.10购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
第1章 概述
1.1 当前软件测试的趋势
1.2 为何要开展自动化测试
1.3 为何要开展UI自动化测试
1.4 UI自动化测试的流程
1.4.1 需求分析
1.4.2 方案选择
1.4.3 环境准备
1.4.4 系统设计
1.4.5 编码规范确定
1.4.6 编码
1.5 深入思考
第2章 iOS基础知识
2.1 移动操作系统概览
2.2 App的类型与区别
2.3 iOS App测试框架概览
第3章 测试环境部署
3.1 辅助环境部署
3.1.1 安装Xcode
3.1.2 安装Homebrew工具
3.1.3 安装Node.js和NPM
3.1.4 安装libimobiledevice
3.1.5 安装Carthage
3.1.6 安装ios-deploy
3.2 编程环境部署
3.2.1 安装Python
3.2.2 Python虚拟环境
3.2.3 安装PyCharm
3.3 Appium环境部署
3.3.1 安装Appium Server GUI
3.3.2 安装Appium Server
3.3.3 安装Appium-Python-Client
3.3.4 初始化WebDriverAgent
3.3.5 安装Appium Inspector
3.3.6 安装Appium-doctor
3.4 自动化测试示例项目
3.5 测试环境及其部署总结
第4章 Appium基本操作
4.1 Appium的组件与工作原理
4.1.1 Appium的组件
4.1.2 Appium的工作原理
4.2 Xcode基本操作
4.2.1 Xcode模拟器的下载
4.2.2 Xcode运行项目
4.2.3 模拟器安装WDA
4.3 Appium Desktop基本操作
4.4 Appium Inspector基本操作
4.4.1 Inspector参数设置
4.4.2 Inspector定位元素
第5章 Appium终端操作
5.1 Capabilities简介
5.2 第一个Appium测试脚本
5.3 Appium报错与解决方案
5.4 Appium终端基本操作
5.4.1 安装App
5.4.2 判断App是否安装
5.4.3 将App切换到后台运行
5.4.4 移除App
5.4.5 激活App
5.4.6 终止App运行
5.4.7 获取App的运行状态
5.4.8 获取当前窗口的宽和高
第6章 Appium中的元素定位
6.1 元素定位方法概览
6.2 通过ACCESSIBILITY_ID定位元素
6.3 通过CLASS_NAME定位元素
6.4 通过IOS_CLASS_CHAIN定位元素
6.5 通过IOS_PREDICATE定位元素
6.6 通过XPath定位元素
6.7 使用相对方式定位元素
6.8 定位组元素
6.9 使用坐标单击元素
第7章 Appium中的元素操作
7.1 元素的基本操作
7.1.1 单击操作
7.1.2 输入操作
7.1.3 清除操作
7.1.4 提交操作
7.2 元素的状态判断
7.3 元素的属性值获取
7.3.1 获取元素的id
7.3.2 获取元素的text值
7.3.3 获取元素的位置
7.3.4 获取元素的其他信息
第8章 Appium高级操作
8.1 Appium Server 1.x中的触控操作
8.1.1 轻触坐标点
8.1.2 轻触目标元素
8.1.3 长按操作
8.1.4 长按、拖动操作
8.1.5 多点触控
8.2 Appium Server 2.x中的触控操作
8.3 软键盘操作
8.4 屏幕滑动操作
8.5 屏幕截图操作
8.6 Toast定位
8.7 处理NSAlert
第9章 Appium等待机制
9.1 影响元素加载的外部因素
9.2 强制等待
9.3 隐式等待
9.4 显式等待
9.4.1 WebDriverWait类
9.4.2 WebDriverWait类提供的方法
9.4.3 expected_conditions类提供的条件
9.4.4 自定义等待条件
第10章 Pytest测试框架
10.1 Pytest简介
10.2 Pytest测试固件
10.3 Pytest组织测试用例和断言的方法
10.4 Pytest框架测试执行
10.5 测试用例重试
10.6 标记机制
10.6.1 对测试用例进行分级
10.6.2 跳过某些测试用例
10.7 全局设置
10.7.1 准备测试目录
10.7.2 执行全局测试
10.8 测试报告
10.8.1 pytest-html测试报告
10.8.2 Allure测试报告
10.9 Pytest与Appium
10.10 Pytest参数化
第11章 项 目 实 战
11.1 真机环境部署
11.2 自动化测试用例开发
11.2.1 测试用例设计
11.2.2 测试用例代码实现
11.2.3 测试用例执行
11.3 代码分析
第12章 项目代码优化
12.1 提高测试用例的灵活性
12.1.1 YAML
12.1.2 YAML文件操作
12.1.3 配置数据和代码的分离
12.2 减少代码冗余
12.2.1 conftest.py
12.2.2 前置、后置代码的分离
12.3 提高测试用例的可扩展性
12.3.1 CSV文件
12.3.2 CSV文件操作
12.3.3 测试数据和代码的分离
12.4 提高测试用例的可维护性
12.4.1 页面对象实践
12.4.2 “危机”应对
12.4.3 新增的缺点
第13章 自动化测试框架开发
13.1 自动化测试框架设计
13.2 优化目录层级
13.2.1 Python的os模块
13.2.2 调整模块引用
13.3 增加日志信息
13.3.1 日志概述
13.3.2 logging的用法
13.3.3 给测试用例添加日志
13.4 添加失败截图功能
13.5 添加显式等待功能
第14章 与 君 共 勉
14.1 测试数据
14.1.1 测试数据准备
14.1.2 冗余数据处理
14.2 提升效率
14.3 模拟器与真机的异同
附录
附录A App的相关知识
附录B 元素定位工具
附录C iOS可用的Capabilities
附录D 常用运算符
附录E IOS_PREDICATE定位方式扩展
附录F XPath的相关知识
附录G 常用元素的类型及属性
附录H 在macOS设备中安装Java
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜