整体设计模式:
config 目录: 存放一些公共的静态文件, 如项目名称, 配置文件等这些环境变量 (可以用其他组件替换, 如 sql, 主要能把配置文件的内容被程序识别).
httptrquest 目录: 存放接口代码, UI 自动化因为其稳定性问题会出现有些地方出错导致后续无法进行, 故添加接口操作.
initailize 目录: 初始化代码, 用于存放初始化操作的代码, 比如初始化一些全局变量, 初始化 webdriver 等, 应用于整个项目的代码.
test 目录: 真正执行的目录, 用于存放测试用例的代码, 会被 pytest 识别将其转化为可执行的测试用例 (PS: 该文件的目录名及其模块, 类, 方法名都要根据 pytest 的设置来进行设置); 该目录下的代码都会被 pytest 装饰, 控制执行顺序, 执行依赖等操作.
testcase 目录: 为 test 目录服务, 执行相关的操作, 定位元素, 执行操作, 输出结果等等, 该目录下的模块, 方法都会被 test 目录下相应的代码调用实例化
testcase_utils: 辅助工具类, 在操作过程中某些页面上有些公共的操作, 如表格 table 定位, 批量元素的输入, JS 操作等等, 便于维护.
utils 目录: 工具类, 为整个项目的运行提供基础的操作, 如读取文件, 将 YAML 文件转化为 WebElement 类对象元素, 日志, 截图, 测试报告, sql 操作, 装饰器, 发送报告等基础操作. 与 testcase_utils 目录最大的区别为该目录下的代码不会操作页面上的元素
YAML 文件: 存放元素的定位方式, 将页面元素转化为 YAML 静态文件
conftest.py 文件: ytest 固定文件, 主要功能两个, 初始化操作和记录运行结果; 1. 用于 fixture 装饰器的使用, 初始化操作, 创建全局唯一对象, 将这些对象传递给 initailize 目录下的指定模块, 全局共用 2. 记录运行结果, 整个运行失败时的操作, 用于最后的分析操作
pytest.INI 文件, pytest 固定文件, 指定运行方式
来源: http://www.bubuko.com/infodetail-3478640.html