feat: configure UAT test automation and reporting
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
# UAT Test Suite
|
||||
|
||||
UAT测试套件用于验证Novalon管理系统的用户验收测试场景。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
uat-tests/
|
||||
├── config/ # 配置文件
|
||||
│ └── uat-config.ts # UAT配置
|
||||
├── data/ # 测试数据
|
||||
│ ├── users.json # 用户数据
|
||||
│ ├── roles.json # 角色数据
|
||||
│ └── scenarios.json # 场景数据
|
||||
├── scenarios/ # 测试场景
|
||||
│ ├── user-lifecycle/ # 用户生命周期场景
|
||||
│ ├── role-management/ # 角色管理场景
|
||||
│ ├── collaboration/ # 多角色协作场景
|
||||
│ ├── permission/ # 权限验证场景
|
||||
│ └── audit/ # 审计场景
|
||||
├── utils/ # 工具类
|
||||
│ ├── uat-helper.ts # UAT辅助工具
|
||||
│ ├── scenario-runner.ts # 场景运行器
|
||||
│ └── data-loader.ts # 数据加载器
|
||||
├── pages/ # 页面对象
|
||||
│ └── UserManagementPage.ts
|
||||
├── screenshots/ # 截图目录
|
||||
├── test-results/ # 测试结果
|
||||
├── playwright.config.ts # Playwright配置
|
||||
├── run-uat-tests.sh # 测试运行脚本
|
||||
├── quality-gate.js # 质量门禁检查
|
||||
└── package.json # 依赖配置
|
||||
```
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
cd uat-tests
|
||||
npm install
|
||||
npx playwright install --with-deps
|
||||
```
|
||||
|
||||
### 配置环境变量
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# 编辑.env文件,设置测试环境URL
|
||||
```
|
||||
|
||||
### 运行测试
|
||||
|
||||
```bash
|
||||
# 运行所有UAT测试
|
||||
npm run test
|
||||
|
||||
# 运行特定场景
|
||||
npx playwright test scenarios/user-lifecycle/
|
||||
|
||||
# 调试模式
|
||||
npm run test:debug
|
||||
|
||||
# 查看测试报告
|
||||
npm run test:report
|
||||
```
|
||||
|
||||
## 测试场景
|
||||
|
||||
### 用户生命周期场景
|
||||
|
||||
- 新用户注册与激活
|
||||
- 用户信息变更
|
||||
- 用户角色演进
|
||||
|
||||
### 角色管理场景
|
||||
|
||||
- 角色分配与权限验证
|
||||
|
||||
### 多角色协作场景
|
||||
|
||||
- 跨部门协作流程
|
||||
- 数据一致性验证
|
||||
|
||||
## 质量门禁
|
||||
|
||||
质量门禁标准:
|
||||
|
||||
- 通过率 >= 95%
|
||||
- 不稳定率 <= 5%
|
||||
- 执行时间 <= 10分钟
|
||||
|
||||
运行质量门禁检查:
|
||||
|
||||
```bash
|
||||
npm run test:quality-gate
|
||||
```
|
||||
|
||||
## CI/CD集成
|
||||
|
||||
UAT测试已集成到Woodpecker CI/CD流水线中,在每次push和pull request时自动运行。
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **测试数据隔离**:每个测试使用独立的数据,避免相互影响
|
||||
2. **智能等待**:使用UATHelper提供的智能等待方法,避免固定等待
|
||||
3. **截图记录**:测试失败时自动截图,便于调试
|
||||
4. **并行执行**:支持多worker并行执行,提高测试效率
|
||||
5. **跨浏览器测试**:支持Chrome、Firefox、Safari浏览器测试
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 测试失败
|
||||
|
||||
1. 查看测试报告:`npm run test:report`
|
||||
2. 检查截图:`screenshots/`目录
|
||||
3. 查看日志:`test-results/`目录
|
||||
|
||||
### 环境问题
|
||||
|
||||
确保测试环境已启动:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
docker-compose -f docker-compose.test.yml up -d
|
||||
```
|
||||
|
||||
## 贡献指南
|
||||
|
||||
添加新的UAT测试场景:
|
||||
|
||||
1. 在`scenarios/`目录下创建新的场景文件
|
||||
2. 使用`ScenarioRunner`和`UATHelper`工具
|
||||
3. 遵循现有的测试模式和命名约定
|
||||
4. 添加相应的测试数据到`data/`目录
|
||||
|
||||
## 许可证
|
||||
|
||||
Copyright © 2024 Novalon. All rights reserved.
|
||||
Reference in New Issue
Block a user