贡献指南¶
感谢你对 YuanTest Playwright 的关注!欢迎贡献代码、报告问题或提出建议。
行为准则¶
本项目采用贡献者公约作为行为准则。参与此项目即表示你同意遵守其条款。
如何贡献¶
报告 Bug¶
如果你发现了 bug,请创建一个 Issue,包含:
- 清晰的标题和描述
- 复现步骤
- 预期行为
- 实际行为
- 环境信息(Node.js 版本、操作系统等)
提出新功能¶
如果你有新功能的想法,请创建一个 Issue,包含:
- 功能描述
- 使用场景
- 可能的实现方式
提交代码¶
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
开发指南¶
环境设置¶
# 克隆仓库
git clone https://github.com/yuandiv/yuantest-playwright.git
cd yuantest-playwright
# 安装依赖
npm install
# 构建
npm run build
开发命令¶
# 运行测试
npm test
# 运行测试(带覆盖率)
npm run test:coverage
# 代码检查
npm run lint
# 代码格式化
npm run format
# 类型检查
npm run typecheck
# 生成文档
npm run docs
代码风格¶
- 使用 TypeScript
- 遵循 ESLint 规则
- 使用 Prettier 格式化代码
- 编写有意义的提交信息
提交信息规范¶
使用约定式提交:
feat:新功能fix:Bug 修复docs:文档更新style:代码格式(不影响功能)refactor:重构test:测试相关chore:构建/工具相关
示例:
feat: add AI-powered failure analysis
fix: resolve WebSocket connection issue
docs: update API reference
Pull Request 指南¶
- 确保所有测试通过
- 更新相关文档
- 添加必要的测试
- 保持 PR 聚焦单一功能
- 编写清晰的 PR 描述
项目结构¶
yuantest-playwright/
├── bin/ # CLI 入口
├── dashboard/ # Web Dashboard 前端
├── src/ # 源代码
│ ├── orchestrator/ # 测试编排
│ ├── executor/ # 测试执行
│ ├── reporter/ # 报告生成
│ ├── flaky/ # Flaky 管理
│ ├── realtime/ # 实时报告
│ └── ...
├── tests/ # 测试文件
├── documentation/ # 文档源文件
└── docs/ # API 文档输出
许可证¶
本项目采用 GPL-3.0 许可证。提交代码即表示你同意将代码以相同许可证授权。