文章目录
- 一、框架介绍
- 二、实现功能
- 三、框架目录结构
- 四、依赖库
- 五、安装教程
- 六、如何创建用例
- 1. 修改配置文件 `config.settings.py`
- 2.删除框架中的示例用例数据
- 3. 编写测试用例
- 七、运行自动化测试
- 方式一:使用pipenv管理虚拟环境
- 1. 激活已存在的虚拟环境
- 2. 运行
- 方式二:依赖包安装在本机
- 八 、初始化项目可能遇到的问题
- Playwright Documentation
- pytest-playwright Documentation
- 联系我
一、框架介绍
本框架是基于Python+Pytest+Playwright的UI自动化测试框架。
本框架要求使用者对playwright有一定的了解才能上手使用。
二、实现功能
- 支持通过命令行指定浏览器,选择需要运行的浏览器。
- 建立接口池,处理用例依赖数据
- 支持通过命令行指定运行环境,实现环境一键切换,解决多环境相互影响问题。
- 采用pageobject模式,管理页面元素以及操作,提高项目的代码重用性
- 采用loguru管理日志,可以输出更为优雅,简洁的日志
- 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
- 使用pipenv管理虚拟环境和依赖文件,可以使用pipenv install一键安装依赖包。
三、框架目录结构
# 框架目录结构
├────.auth/
├────.gitignore
├────config/ 配置文件层,存放整个项目需要用到的配置项
│ ├────__init__.py
│ ├────allure_config/
│ │ ├────http_server.exe 生成的一个http服务,用于放在allure报告压缩包里面,在windows环境下不安装allure也能打开查看报告
│ │ ├────logo.svg 当前部门或者项目logo,用于替换allure报告里面的logo。注意:代码里面无替换,是手动在lib/allure里面替换的
│ │ └────双击打开Allure报告.bat 一个用于在windows环境下不安装allure也能打开查看报告bat文件
│ ├────global_vars.py 全局变量,用于保存测试过程中变量,方便调用
│ ├────path_config.py 项目路径配置文件,注意:目录名称更改,需要更改配置文件
│ └────settings.py 项目配置文件,用于保存一些配置数据
└────utils/ 公共模块,将一些公共函数、方法以及通用操作进行封装
│ ├────__init__.py
│ ├────assertion_utils/ 接口断言的处理
│ │ ├────__init__.py
│ │ ├────assert_control.py
│ │ └────assert_function.py
│ ├────base_utils/ playwright基类,包括UI和API
│ │ ├────__init__.py
│ │ ├────base_page.py 基类,定义项目所需的基础方法,对playwright一些常用的页面进行二次封装,提高项目的代码重用性
│ │ ├────base_request.py 基类,定义项目所需的基础方法,对playwright的接口进行二次封装
│ │ └────request_control.py 请求playwright的接口进行再次封装,包括请求前数据处理,请求时日志记录,请求后断言,数据提取
│ ├────data_utils/ 处理数据的一些方法
│ │ ├────__init__.py
│ │ ├────data_handle.py
│ │ ├────eval_data_handle.py
│ │ ├────extract_data_handle.py
│ │ └────faker_handle.py
│ ├────database_utils/ 数据库处理
│ │ ├────__init__.py
│ │ └────mysql_handle.py
│ ├────files_utils/ 文件处理
│ │ ├────__init__.py
│ │ ├────files_handle.py
│ │ └────yaml_handle.py
│ ├────logger_utils/ 日志处理
│ │ ├────__init__.py
│