电商测试自动化框架

一个基于Playwright和TypeScript的端到端电商测试自动化框架,采用页面对象模型设计模式,覆盖104个测试用例,支持跨浏览器测试和持续集成。

  • by annavictoriaelano
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 annavictoriaelano/playwright-mcp-project

使用说明

电子商务测试自动化项目

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或纱线

安装

  1. 克隆存储库
git clone https://github.com/annavictoriaelano/e-commerce-automation-project.git
cd e-commerce-automation-project
  1. 安装依赖项
npm install
  1. 安装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

📄 许可证

该项目仅用于演示目的。