使用说明
电子商务测试自动化项目
SauceDemo电子商务应用程序的全面端到端测试自动化框架,使用Playwright和TypeScript使用页面对象模型设计模式构建。
📋 项目概述
该项目展示了完整电子商务用户旅程的专业测试自动化实践,涵盖了7个核心应用程序模块的104个自动化测试用例。
测试覆盖范围:
- 登录和身份验证(14个测试)
- 产品目录(20项测试)
- 产品详情(15项测试)
- 购物车(16项测试)
- 检查流程(24次测试)
- 订单确认(7次测试)
- 导航和菜单(8个测试)
🛠️ 技术栈
- 测试框架: 剧作家
- 语言: TypeScript
- 设计模式: 页面对象模型(POM)
- CI/CD: GitHub操作
- 跨浏览器测试: Chromium、Firefox、WebKit
🏗️ 项目结构
e-commerce-automation-project/
├── pages/ # Page Object Model classes
│ ├── BasePage.ts # Base page with common methods
│ ├── LoginPage.ts # Login page actions
│ ├── ProductsPage.ts # Product catalog page
│ ├── ProductDetailsPage.ts
│ ├── CartPage.ts
│ ├── CheckoutPage.ts
│ ├── OrderConfirmationPage.ts
│ └── NavigationPage.ts
├── tests/ # Test specifications
│ ├── login.spec.ts
│ ├── logout.spec.ts
│ ├── session.spec.ts
│ └── ... (20 test files)
├── playwright.config.ts # Playwright configuration
└── package.json
🚀 入门指南
先决条件
- Node.js(v18或更高版本)
- npm或纱线
安装
- 克隆存储库
git clone https://github.com/annavictoriaelano/e-commerce-automation-project.git
cd e-commerce-automation-project
- 安装依赖项
npm install
- 安装Playwright浏览器
npx playwright install
▶️ 运行测试
运行所有测试
npx playwright test
在头部模式下运行测试
npx playwright test --headed
运行特定的测试文件
npx playwright test tests/login.spec.ts
运行特定模块的测试
npx playwright test tests/product-*.spec.ts
在特定浏览器中运行测试
npx playwright test --project=chromium
查看测试报告
npx playwright show-report
📊 测试执行
每次通过GitHub Actions推送到主分支时,都会自动执行测试,确保在多个浏览器之间进行持续验证。
🎯 主要特点
- 页面对象模型: 测试逻辑和页面交互的清晰分离
- 跨浏览器测试: 验证Chromium、Firefox和WebKit的功能
- 可重复使用的组件: 具有所有页面对象继承的通用方法的BasePage类
- 专业Git工作流程: 功能分支、拉取请求和自动化CI/CD
- 全面覆盖: 104个涵盖关键用户旅程的自动化测试用例
- 类型安全: 完整的TypeScript实现,以提高代码质量
📝 测试用例组织
测试用例遵循分层命名约定:
- 模块ID: M01、M02等。
- 测试场景ID: TS01、TS02等。
- 测试用例ID: TC01、TC02等。
例子: M01_TS01_TC01 表示模块01、测试场景01、测试用例01
🔄 CI/CD管道
该项目使用GitHub Actions来:
- 在每次向主分支推送时运行所有测试
- 并行跨多个浏览器执行测试
- 生成测试报告并将其作为工件存储
- 在合并功能分支之前确保代码质量
👤 作者
安娜·维多利亚·埃拉诺
- 高级质量工程师
- github:https://github.com/annavictoriaelano
📄 许可证
该项目仅用于演示目的。