Token导航 LogoToken导航

MCP Server · 浏览器工具

Playwright MCP Project

一个基于Playwright和页面对象模型(POM)模式的端到端测试自动化项目,用于测试用户注册、登录以及访问受保护资源的功能。

stdio官方级别未说明来源级核验工具 0playwright
测试自动化TypeScript浏览器自动化

快速开始

作者 / 组织
Waszek
提供方
Waszek
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Playwright MCP Project 属于浏览器工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

浏览器工具

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

npx playwright install

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

用户注册和登录E2E测试

一个全面的端到端测试自动化项目,由 剧作家 并遵循 页面对象模型(POM) 图案。此项目测试用户注册、登录和对受保护资源的访问。

📋 目录

🎯 概述

该项目为具有用户身份验证的web应用程序提供自动化的端到端测试。它验证了:

  • 用户注册:通过表单验证完成用户注册流程
  • 用户登录:使用有效凭据成功进行身份验证
  • 保护资源:登录后访问经过身份验证的区域

该项目遵循最佳实践,使用 页面对象模型模式 维护干净、可维护和可扩展的测试代码。

📦 先决条件

  • Node.js v16+(建议使用LTS)
  • npm v7+
  • 正在运行的web应用程序位于 http://localhost:3000 (或在中配置 playwright.config.ts)

🚀 安装

  1. 克隆存储库:
   git clone 
   cd pw-mcp-project
  1. 安装依赖项:
   npm install
  1. 安装Playwright浏览器:
   npx playwright install

📁 项目结构

pw-mcp-project/
├── pages/                              # Page Object Models
│   ├── BasePage.ts                     # Base class with common functionality
│   ├── RegisterPage.ts                 # Registration page object
│   ├── LoginPage.ts                    # Login page object
│   ├── ProtectedPage.ts                # Protected resources page object
│   └── index.ts                        # Centralized exports
├── tests/
│   └── 01-registration-and-login.spec.ts  # E2E test suite
├── playwright.config.ts                # Playwright configuration
├── package.json                        # Project dependencies
├── playwright-report/                  # HTML test reports
├── test-results/                       # Test execution results
└── README.md                           # This file

🏗️ 页面对象模型(POM)

POM是什么?

页面对象模型是一种将网页表示为类的设计模式。每个页面的UI组件和交互都封装在专用对象中,进行测试:

  • 可维护的:选择器集中在一个地方
  • 可重复使用的:通用方法可以在测试之间共享
  • 可读的:测试侧重于业务逻辑,而不是实现细节
  • 可扩展的:易于添加新页面和测试用例

页面对象

基础页面 (pages/BasePage.ts)

提供通用功能的基类:

  • goto(path) -导航到页面路径
  • waitForPageLoad() -等待页面完全加载
  • getCurrentUrl() -获取当前页面URL
注册页面 (pages/RegisterPage.ts)

封装注册页面交互:

class RegisterPage {
  navigate(); // Go to registration page
  waitForPageReady(); // Wait for page to load
  fillFirstName(name); // Fill first name field
  fillLastName(name); // Fill last name field
  fillEmail(email); // Fill email field
  fillBirthDate(date); // Fill birth date
  closeDatePicker(); // Close date picker
  fillPassword(password); // Fill password
  submitRegistration(); // Submit form
  registerUser(userData); // Complete registration flow
  verifyRegistrationSuccess(); // Verify successful registration
}
登录 (pages/LoginPage.ts)

封装登录页面交互:

class LoginPage {
  navigate(); // Go to login page
  waitForPageReady(); // Wait for page to load
  fillEmail(email); // Fill email field
  fillPassword(password); // Fill password
  clickLoginButton(); // Click login button
  login(email, password); // Complete login flow
  verifyLoginSuccess(); // Verify successful login
  verifyNoAuthMessages(); // Check for auth errors
}
受保护页面 (pages/ProtectedPage.ts)

封装受保护的资源交互:

class ProtectedPage {
  navigateToProtectedPage(path); // Navigate to protected page
  verifyAccess(); // Verify access granted
  verifyContentIsVisible(); // Verify page content
  verifyFullAccess(); // Complete access verification
}

▶️ 运行测试

运行所有测试

npx playwright test

在UI模式下运行测试(交互式)

npx playwright test --ui

运行特定的测试文件

npx playwright test tests/01-registration-and-login.spec.ts

运行特定测试

npx playwright test -g "Register new user"

在调试模式下运行测试

npx playwright test --debug

查看测试报告

npx playwright show-report

📝 测试用例

测试1:使用有效凭据注册新用户

文件: tests/01-registration-and-login.spec.ts

测试完整的用户注册流程:

  1. 导航到注册页面
  2. 填写所有必填的注册字段
  3. 提交报名表
  4. 通过重定向验证注册成功

测试数据:

{
  firstName: 'John',
  lastName: 'Tester',
  email: 'test-user-{timestamp}@example.com',
  birthDate: '1990-01-15',
  password: 'TestPassword123!'
}

测试2:使用注册用户凭据登录

测试用户登录成功:

  1. 导航到登录页面
  2. 输入注册凭据
  3. 提交登录表单
  4. 验证登录和重定向是否成功
  5. 验证没有身份验证错误消息

测试3:登录后访问受保护的资源

测试对已验证区域的访问:

  1. 使用注册凭据登录
  2. 等待登录完成
  3. 导航到受保护的资源(BookShop帐户页面)
  4. 验证对受保护内容的访问权限
  5. 验证页面内容是否可见

⚙️ 配置

剧作家配置(playwright.config.ts)

关键配置设置:

{
  testDir: './tests',              // Test files location
  fullyParallel: true,            // Run tests in parallel
  forbidOnly: !!process.env.CI,   // Fail on .only in CI
  retries: process.env.CI ? 2 : 0, // Retry failed tests on CI
  reporter: 'html',               // HTML report output
  use: {
    baseURL: 'http://localhost:3000', // Application URL
    trace: 'on'                   // Collect trace on failure
  },
  projects: [
    { name: 'chromium', ... }     // Chromium browser
    // { name: 'firefox', ... }   // Uncomment for Firefox
    // { name: 'webkit', ... }    // Uncomment for Safari
  ]
}

环境设置

确保您的应用程序正在运行:

# Terminal 1: Start your application
npm run dev  # or your start command

# Terminal 2: Run tests
npm test

💡 最佳实践

  1. 使用页面对象:始终通过页面对象与页面交互,而不是直接与页面交互
  2. 保持测试干燥:重用页面对象方法以避免重复
  3. 有意义的测试名称:使用清晰、描述性的测试名称
  4. 等待策略:使用Playwright的内置等待,而不是硬编码的延迟
  5. 错误处理:包括用于非关键验证的try-catch块
  6. 测试隔离:由于以下原因,测试可以以任何顺序独立运行 test.describe.serial()

📊 测试报告

运行测试后,查看HTML报告:

npx playwright show-report

测试报告包括:

  • 通过/失败状态
  • 执行时间
  • 故障截图
  • 视频录像
  • 网络跟踪

🐛 故障排除

测试失败,显示“连接被拒绝”

  • 确保应用程序在以下位置运行 http://localhost:3000
  • 更新 baseURL 在 playwright.config.ts 如有需要

未找到选择器

  • 检查页面已完全加载可见性断言
  • 如果应用程序标记更改,则更新选择器
  • 仅在页面对象文件中更新选择器

测试超时

  • 增加测试或配置中的超时时间
  • 检查网络连接
  • 验证应用程序是否响应

📚 资源

📄 许可证

国际学生中心

👤 作者

使用Playwright和页面对象模型模式为自动E2E测试而创建。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

测试自动化TypeScript本地部署用户认证端到端测试页面对象模型Playwright

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Playwright MCP Project

MCP World · 本页

0stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Playwright MCP Project 怎么安装?

公开资料给出的安装命令是 npx playwright install,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Playwright MCP Project 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Playwright MCP Project 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Playwright MCP Project 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Playwright MCP Project 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP