# Everything Is Suitable - E2E测试项目 ## 项目概述 本项目是一个完整的端到端(E2E)测试框架,基于Playwright构建,为uniapp和admin模块提供全面的自动化测试解决方案。 ## 项目结构 ``` everything-is-suitable/ ├── everything-is-suitable-test/ # E2E测试框架 │ ├── e2e/ # 测试代码 │ │ ├── fixtures/ # 测试夹具 │ │ ├── core/ # 核心模块 │ │ ├── helpers/ # 测试辅助工具 │ │ └── examples/ # 示例测试 │ ├── playwright.config.ts # Playwright配置 │ ├── package.json │ ├── README.md # 详细使用文档 │ └── QUICKSTART.md # 快速入门指南 ├── everything-is-suitable-admin/ # Admin管理后台 ├── everything-is-suitable-uniapp/ # Uniapp移动端应用 ├── everything-is-suitable-backend/ # 后端API服务 ├── docker-compose.test.yml # 测试环境Docker配置 ├── .woodpecker.yml # Woodpecker CI配置 └── WOODPECKER_CI.md # Woodpecker CI使用文档 ``` ## 快速开始 ### 前置要求 - Node.js >= 18.0.0 - npm >= 9.0.0 - Docker ### 安装依赖 ```bash cd everything-is-suitable-test npm install npm run test:install ``` ### 配置环境 ```bash cp .env.example .env # 编辑.env文件,配置测试环境URL和账号密码 ``` ### 运行测试 ```bash # 本地运行 npm run test # Docker环境运行 docker-compose -f docker-compose.test.yml up -d sleep 30 npm run test docker-compose -f docker-compose.test.yml down ``` ## CI/CD集成 本项目使用**Woodpecker CI**作为持续集成/持续部署工具。 ### 配置文件 - `.woodpecker.yml` - Woodpecker CI配置文件 - `WOODPECKER_CI.md` - 详细配置说明文档 ### Pipeline结构 - `setup` - 初始化Docker环境 - `e2e-tests` - 执行端到端测试(并行4个分片) - `api-tests` - 执行API集成测试 - `test-report` - 合并测试报告 - `notify-failure` - 测试失败时发送Slack通知 - `nightly-tests` - 每日定时执行完整测试 ### 触发条件 - 推送到main或develop分支 - 创建Pull Request - 每天凌晨2点定时执行 详细配置说明请参考:[WOODPECKER_CI.md](./WOODPECKER_CI.md) ## 测试框架特性 - ✅ 基于Playwright的现代化E2E测试框架 - ✅ 支持uniapp和admin模块的全流程业务测试 - ✅ 完整的测试数据管理和清理机制 - ✅ 丰富的测试辅助工具(表单、表格、断言等) - ✅ 详细的测试日志和截图功能 - ✅ 多种测试报告格式(HTML、JSON、JUnit) - ✅ 完整的Woodpecker CI集成支持 - ✅ 支持多浏览器和多设备测试 ## 文档 - [E2E测试框架详细文档](./everything-is-suitable-test/README.md) - [快速入门指南](./everything-is-suitable-test/QUICKSTART.md) - [Woodpecker CI配置文档](./WOODPECKER_CI.md) ## 测试覆盖 ### Uniapp模块 - 黄历功能测试(搜索、详情、收藏、分享、历史记录) - 用户功能测试(登录、注册、修改信息、退出、修改密码) ### Admin模块 - 用户管理测试(创建、编辑、删除、批量删除、导出) - 角色管理测试(创建、编辑、分配权限、删除) ### API集成测试 - 用户CRUD操作 - 角色CRUD操作 - 菜单CRUD操作 - 分页查询 - 搜索功能 ## 常用命令 ```bash # 运行所有测试 npm run test # 运行特定测试文件 npx playwright test e2e/examples/user-management.spec.ts # 有头模式运行 npm run test:headed # 调试模式 npm run test:debug # UI模式 npm run test:ui # 查看测试报告 npm run test:report ``` ## 贡献指南 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建Pull Request ## 许可证 MIT License ## 联系方式 如有问题或建议,请联系开发团队。