mcpField
🎭
🎭 Playwright Test Automation Framework

🎭 Playwright Test Automation Framework

本地服务
github.com/GoldiSaini开发工具282 周前更新

关于 🎭 Playwright Test Automation Framework

这是基于 Playwright 和 TypeScript 的测试自动化框架,使用页面对象模型和独立测试数据组织端到端测试。它提供注册流程示例,并通过 @executeautomation/playwright-mcp-server 进行录制与回放。

主要功能

  1. 01页面对象模型架构
  2. 02测试数据与逻辑分离
  3. 03支持 TypeScript
  4. 04可复用组件与辅助方法
  5. 05基于 MCP 的录制与回放
  6. 06自动生成测试脚本

适用场景

  1. 01运行数据驱动的注册场景
  2. 02添加页面对象和测试场景
  3. 03使用 MCP 录制和回放测试

MCP 相关

集成 @executeautomation/playwright-mcp-server,用于测试录制与回放。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"playwrightMCP_Demo": {
"command": "npx",
"args": [
"-y",
"playwright"
]
}
}
}
启动命令npx -y playwright

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmplaywright

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🎭 Playwright 测试自动化框架

🚀 这是一个功能强大的数据驱动测试自动化框架,使用 Playwright 和 TypeScript 构建,并借助 @executeautomation/playwright-mcp-server 增强测试录制和回放能力。采用页面对象模型设计模式,支持构建可扩展、易维护的自动化测试。

Playwright TypeScript Node.js MCP Server

✨ 亮点

  • 🏗️ 页面对象模型 - 构建简洁、易维护的测试架构
  • 📊 数据驱动测试 - 借助外部测试数据轻松扩展测试
  • 🔧 TypeScript 支持 - 提供可靠的类型检查和更好的 IDE 集成
  • ♻️ 可复用组件 - 采用模块化设计,最大限度地复用代码
  • 🎯 易于维护 - 集中管理定位器和数据
  • 📈 可扩展设计 - 轻松添加新的测试场景
  • 🎥 MCP 服务集成 - 增强测试录制和回放功能

🌟 主要特性

  • 结构清晰、组织有序的测试架构
  • 将测试数据与测试逻辑分离
  • 提供常见操作的实用辅助方法
  • 易于理解的页面对象模式实现
  • 全面的测试数据管理
  • 提供可直接使用的注册流程示例
  • 使用 MCP 服务录制和回放测试
  • 自动生成测试脚本

框架结构

tests/
├── data/                    # Test Data Layer
│   ├── interfaces/         
│   │   └── TestData.ts     # Data type definitions
│   ├── TestDataHelper.ts   # Helper class for data management
│   └── testData.ts         # Test scenarios data
├── pages/                   # Page Objects
│   ├── BasePage.ts         # Base page with common functionality
│   ├── LoginPage.ts        # Login page object
│   └── RegistrationPage.ts # Registration page object
└── specs/                   # Test Specifications
    └── registration.spec.ts # Test cases

特性

  • 页面对象模型:将测试逻辑与页面交互分离
  • 数据驱动测试:将测试数据与测试逻辑分离
  • TypeScript:提供强类型和更好的 IDE 支持
  • 可复用组件:在基类中封装通用功能
  • 易于维护:集中管理定位器和数据
  • 可扩展:轻松添加新的测试场景和页面对象

测试数据结构

该框架采用结构化方式管理测试数据:

interface TestScenario {
    name: string;
    login: LoginData;
    registration: RegistrationData;
}

当前测试场景:

  1. 有效注册流程(男性用户)
  2. 女性用户注册

设置

  1. 克隆代码仓库:
git clone <repository-url>
cd playwrightMCP_Demo
  1. 安装依赖:
npm install
  1. 安装 Playwright 浏览器:
npx playwright install

运行测试

运行所有测试:

npx playwright test

运行指定测试文件:

npx playwright test tests/specs/registration.spec.ts

以有头模式运行测试:

npx playwright test --headed

添加新的测试场景

  1. 在 tests/data/testData.ts 中添加新的测试数据:
{
    name: 'Your Scenario Name',
    login: {
        email: '[email protected]'
    },
    registration: {
        firstName: 'First',
        lastName: 'Last',
        address: 'Address',
        email: '[email protected]',
        phone: '1234567890',
        gender: 'Male' | 'Female',
        country: 'Country Name'
    }
}
  1. 新增场景后,测试将自动执行。

框架组件

页面对象
  • BasePage:包含通用方法和实用工具
  • LoginPage:处理登录功能
  • RegistrationPage:管理注册表单交互
数据管理
  • TestData.ts:包含测试场景
  • TestDataHelper:提供访问和管理测试数据的方法
  • 接口:定义测试数据的结构

最佳实践

  1. 页面对象应专注于特定页面的功能
  2. 将测试数据与测试逻辑分开维护
  3. 使用有意义的场景名称
  4. 遵循 TypeScript 命名约定
  5. 保持测试相互独立且粒度小

贡献

  1. 为你的功能创建新分支
  2. 添加或更新测试和页面对象
  3. 根据需要更新测试数据
  4. 提交拉取请求

依赖项

  • Playwright
  • TypeScript
  • Node.js
  • @executeautomation/playwright-mcp-server - 用于增强测试录制与回放
  • @playwright/test - 核心测试框架

支持

如有任何疑问或问题,请在仓库中创建一个新 issue。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。