# 测试框架 统一的测试框架,整合了E2E测试和开发环境测试。 ## 目录结构 ``` test-framework/ ├── shared/ # 共享层 │ ├── config/ # 配置管理 │ ├── pages/ # 页面对象 │ ├── utils/ # 工具类 │ ├── fixtures/ # 测试fixtures │ └── types/ # 类型定义 ├── dev-audit/ # 开发环境测试 │ ├── performance/ # 性能测试 │ ├── seo/ # SEO测试 │ ├── accessibility/ # 可访问性测试 │ └── forms/ # 表单测试 ├── e2e/ # E2E测试示例 ├── reports/ # 测试报告 ├── docs/ # 文档 ├── playwright.config.ts # Playwright配置 ├── package.json # 依赖和脚本 ├── tsconfig.json # TypeScript配置 └── run-all-tests.sh # 一键测试脚本 ``` ## 快速开始 ### 安装依赖 ```bash npm install npm run test:install ``` ### 运行测试 ```bash # 运行所有测试 npm run test # 运行特定类型的测试 npm run test:dev-audit:performance npm run test:dev-audit:seo npm run test:dev-audit:accessibility npm run test:dev-audit:forms # 一键运行所有测试 ./run-all-tests.sh ``` ### 查看报告 ```bash npm run test:report ``` ## 测试类型 ### 性能测试 - 页面加载性能 - Core Web Vitals - 资源加载时间 ### SEO测试 - Meta标签验证 - 标题结构检查 - 链接验证 ### 可访问性测试 - WCAG 2.1 AA合规性 - 颜色对比度检查 - Alt文本验证 ### 表单测试 - 必填字段验证 - 格式验证 - 提交功能测试 ## 配置 测试配置位于 `shared/config/` 目录: - `base.config.ts` - 基础配置 - `environments.ts` - 环境配置 - `test-pages.ts` - 测试页面配置 - `test-data.ts` - 测试数据配置 ## 页面对象 所有页面对象位于 `shared/pages/` 目录,继承自 `BasePage`。 可用的页面对象: - `BasePage` - 基础页面对象 - `HomePage` - 首页 - `AboutPage` - 关于页面 - `ContactPage` - 联系页面 - `ProductsPage` - 产品页面 - `ServicesPage` - 服务页面 - `CasesPage` - 案例页面 - `NewsPage` - 新闻页面 ## 工具类 - `PerformanceMonitor` - 性能监控 - `LighthouseRunner` - Lighthouse审计 - `CoreWebVitals` - Core Web Vitals - `AccessibilityTester` - 可访问性测试 - `SEOValidator` - SEO验证 - `TestReporter` - 测试报告生成器 ## Fixtures 测试fixtures位于 `shared/fixtures/` 目录: - `base.fixture.ts` - 基础fixtures(页面对象和配置) - `performance.fixture.ts` - 性能测试fixtures - `accessibility.fixture.ts` - 可访问性测试fixtures ## 环境变量 - `TEST_ENV` - 测试环境(development/staging/production) - `BASE_URL` - 基础URL(可选,覆盖配置) ## 报告 测试报告生成在 `reports/` 目录: - `html/` - HTML格式的可视化报告 - `json/` - JSON格式的结构化数据 ## 贡献 请遵循项目的代码规范和测试最佳实践。 ## 许可证 MIT