mcpField
P
Playwright Testing Framework

Playwright Testing Framework

本地服务
github.com/lupusludens-se开发工具177 周前更新

关于 Playwright Testing Framework

Playwright Testing Framework 是基于 Playwright 的测试套件,为 Zeigo Network Dashboard 提供 UI 和 API 端到端测试。项目包含测试规格、页面对象、辅助工具,并提供跨浏览器及不同环境运行测试的说明。

主要功能

  1. 01UI 和 API 端到端测试
  2. 02页面对象模型文件
  3. 03按浏览器运行测试
  4. 04按环境运行测试
  5. 05支持 VS Code 测试资源管理器

适用场景

  1. 01运行仪表板 UI 和 API 回归测试
  2. 02指定测试或浏览器执行
  3. 03针对 test 或 preprod 环境运行测试
  4. 04在 VS Code 中调试并重跑测试

MCP 相关

README 提到使用 Playwright MCP 服务进行高级 UI 测试及与 Playwright MCP 功能交互,并指出 Playwright MCP 与 Context7 MCP 不能在同一终端会话中运行。

配置

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

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

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

安装包
npmplaywright

工具

还没有获取到工具列表

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

详细介绍

Playwright 测试框架

本项目使用 Playwright 对 Zeigo Network Dashboard 进行端到端(E2E)测试,包含 UI 和 API 测试。

我们使用的工具

Playwright 通过以下功能,为现代 Web 应用提供可靠的端到端测试:

  • 支持跨浏览器测试
  • 支持跨平台测试
  • 支持多种语言(TypeScript、JavaScript、Python、.NET、Java)
  • 移动 Web 测试
  • 并行执行测试
  • 内置调试工具

文档

结构

  • .vscode/:工作区专属设置。
  • ui-tests/specs/:UI 测试规范。
  • api-tests/specs/:API 测试规范。
  • pages/:页面对象模型(POM)文件。
  • utils/:实用函数或辅助工具。
  • .env:环境变量。
  • .gitignore:从版本控制中排除的文件。

先决条件

  1. Node.js:安装 Node.js v20 或更高版本

  2. 环境设置:创建 .env 文件,并添加以下配置:

    # Base URLs
    API_BASE_URL=https://your-api-url
    UI_BASE_URL=https://your-ui-url
    

开始使用

  1. 安装 Playwright 和依赖项:

    npm install
    npx playwright install
    npm install dotenv
    
  2. 安装 VS Code Playwright 扩展:

    code --install-extension ms-playwright.playwright
    
  3. 运行测试:

测试执行选项

使用 VS Code 测试资源管理器
  • 打开 VS Code
  • 点击活动栏中的测试图标(烧杯图标)
  • 点击播放按钮运行所有测试
  • 或点击各测试旁边的播放按钮,运行单项测试
使用命令行
基本测试命令
# Run all tests
npx playwright test

# Run tests in headed mode
npx playwright test --headed

# Run tests in specific browser
npx playwright test --project=chromium

# Debug mode
npx playwright test --debug

# Generate tests with Codegen
npx playwright codegen
针对特定环境运行测试
Windows PowerShell
# Test environment
$env:CI="true"; $env:target_env="test"; npx playwright test --reporter=list

# PreProd environment
$env:CI="true"; $env:target_env="preprod"; npx playwright test --reporter=list
macOS/Linux
# Test environment
CI=1 target_env="test" npx playwright test --reporter=list

# PreProd environment
CI=1 target_env="preprod" npx playwright test --reporter=list
运行特定测试
# Run by test name
npx playwright test -g "name of my test" --project=chromium

# Run specific test file
npx playwright test tests/specific-test.spec.js

# Run tests with specific tag
npx playwright test --grep @tag_name
针对特定浏览器运行测试
# Chrome
npm run regression:chromium

# Safari
npm run regression:safari

# All browsers in headless mode
npm run regression

# All browsers in headed mode
npm run regression:headed
测试调度器

如需分批运行测试并设置延迟:

.\run_tests_scheduler.bat

测试资源管理器功能

  • 🔍 以树状视图浏览测试
  • ▶️ 运行/调试单项测试或测试文件
  • 🔄 重新运行失败的测试
  • 📊 内联查看测试结果
  • 🎯 跳转到测试定义
  • 📋 按状态或标签筛选测试
  • 🎯 使用断点调试测试

你可以将两个 MCP 服务(context7 和 playwright)用于不同用途,但它们无法在同一个终端会话中同时运行。使用方法如下:


如何使用各个 MCP 服务
  1. Context7 MCP 服务:

    • 用途:提供最新的特定版本文档和代码示例。
    • 用法:
      • 启动服务:
        npx -y @upstash/context7-mcp@latest
        
      • 在提示词中添加 use context7,即可获取准确且结合上下文的回答。
  2. Playwright MCP 服务:

    • 用途:增强 Playwright 的 UI 测试能力。
    • 用法:
      • 启动服务:
        npx playwright-mcp
        
      • 使用它与 Playwright 交互,处理高级测试场景。

它们能同时运行吗?
  • 同一个终端:不能。每个服务都会接管终端的输入/输出,因此一个终端会话中只能运行一个 MCP 服务。
  • 不同终端:可以。你可以在不同的终端会话中同时运行两个服务。

如何同时运行两个服务
  1. 打开两个终端窗口。
  2. 在第一个终端中,启动 Context7 MCP 服务:
    npx -y @upstash/context7-mcp@latest
    
  3. 在第二个终端中,启动 Playwright MCP 服务:
    npx playwright-mcp
    

如何一起使用
  • Context7:

    • 用它获取库和工具的文档或代码示例。
    • 示例:在提示词中添加 use context7,以获取准确的回答。
  • Playwright:

    • 用它执行高级 UI 测试,或与 Playwright 的 MCP 功能交互。
    • 示例:在 MCP 服务运行时执行 Playwright 测试。

评论

支持 Markdown

第一次接触 MCP?

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

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