# CMS2.0UI自动化测试

#### 介绍
CMS2.0_UI_AUTO_TEST，CMS2.0基座UI自动化测试框架。

#### 软件架构
python语言，pytest&playwright&allure测试框架，pom页面对象模型封装。

#### 安装教程
1.  安装python: python 3.10
2.  删除工程中venv文件夹
3.  创建虚拟环境：python -m venv venv
4.  激活虚拟环境：.\venv\Scripts\activate 
5.  安装工程依赖包：pip install -r requirements.txt
6.  安装playwright浏览器内核： playwright install

#### 框架工程目录说明
1. 执行runner.py运行，会自动收集测试用例执行结果，并生成allure报告
2. BasePage：封装playwright页面基础操作方法
3. BuildInLibrary：环境变量存放文件夹，可进行用例参数关联
4. Common：存放公共方法抽离文件夹
5. Config：配置文件存放文件夹
6. Logs：存放断言失败及fixture方法执行的日志
7. Pages：存放页面对象文件
8. ProjectData：存放工程文件及变量导入文件
9. TestCases：存放测试用例
10. TestDatas：存放测试数据
11. TestReport：存放allure测试报告
12. Utils：存放工具类
13. runner.py：运行入口文件
14. ImageComparison：存放用例页面截图及预期要对比的图片

#### 测试数据文件（TestDatas/XXData/TestXXX.yaml）参数化使用说明
1. 如要参数化测试数据文件中的某个字段，使用{{}}格式进行包裹，如：'{{$username}}'

#### 框架使用说明
1. 执行测试用例前，框架会自动创建一个空白工程并初始化，执行测试用例后，框架会自动删除工程
2. 对于无法通过playwright提供的断言方式进行断言的场景，框架提供图像对比的功能进行断言
3. 页面通用操作方法，建议封装到BasePage类进行调用

### testcase 使用说明
1. 图片比对：调用[BasePage.py]下的compare_images(参数1，参数2，参数3)函数，3个参数分别为实际图名称、预期图名称、平台类型，默认都是png类型；参数3默认是开发版，可不传，若指定运行版需传入vision关键字



