# IosAppGuiTest **Repository Path**: ze-yan/ios-app-gui-test ## Basic Information - **Project Name**: IosAppGuiTest - **Description**: 基于pytest+facebook_wda+allure的ios端app自动化测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-07-30 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 环境搭建 [IOS自动化环境搭建踩坑指南](https://www.cnblogs.com/ze-yan/p/15010065.html) ## 框架目录结构 ├── conftest.py 共享数据层;fixture层 ├── img case失败时生成图片的文件目录 ├── log 日志目录 ├── public 公共包 │ ├── __init__.py │ ├── configer.py 通用配置目录 │ ├── driver.py 驱动层 │ ├── iosAppLogin.py app登录封装 │ ├── keyWordAction.py ui关键字层 │ ├── time_stamp.py │ └── wdaClient.py ios设备连接对象封装 ├── report case报告目录 ├── requirements.txt 框架依赖库 ├── run_ios_app.py 框架运行 入口 ├── testData 测试数据层 │ ├── __init__.py │ └── appLogin.yaml 登录数据 ├── testcase case逻辑层;编写case │ ├── __init__.py │ └── test_01_demo.py 不可删除,用于启动app和app登录 └── utils 工具包,所有关于数据处理或其他工具类放入此处 ├── __init__.py └── handleYaml.py yaml数据处理工具类 ## 用例 ### 用例编写 1.同安卓ui框架一样,在testcase包下面,编写case 2.编写规则,模块名必须以test_开头,最好根据实际情况编号,如:test_01_xx.py 、test_02_xx.py 3.模块内编写规则: ​ a.类名遵循大驼峰(每个单词首字母大写)且以Test开头;并继承Driver ​ b.方法名遵循pep8规范(变量全部小写,多个单词用下划线连接)且已test开头,每个方法都有编号;如test_01_xxxx、test_02_xxxx 示例代码 ```python """Test_01_demo.py""" class TestDemo(Driver): def test_01_demo(self): pass def test_02_xxx(self): pass ``` ### 用例数据 1.用例数据(yaml文件)放在testData包里 2.业务同学,尽量在testData包下面建一个目录,以自己的名字命令,便于维护 3.引入测试数据目录(下列方法二选一): ​ a.可以在public包configer.py模块配置,再去case模块引用 ​ b.直接在你的case模块引入测试数据文件 ### 用例调式 直接在要调试的用例模块里面,实例化对象调用对应的方法即可 示例代码 ```python """Test_01_demo.py""" from public.configer import appLogin_path from public.driver import Driver from utils.handleYaml import YamlHandler class TestDemo(Driver): def test_01_demo(self): self.action(YamlHandler(appLogin_path).get_yaml_data()) if __name__ == '__main__': # 调式模式 TestDemo().test_01_demo() # 实例化对象调用对应的方法 ``` ####