使用说明内容(Markdown格式)

1) 项目概述

本仓库实现了一个基于 MCP 的服务器端组件,核心职责是向 LLM 客户端提供以下能力:

  • 资源管理(Resources):托管与访问用于数据、模板、文档等资源的能力。
  • 工具注册与执行(Tools):注册外部功能工具,LLM 客户端可通过 JSON-RPC 调用执行。
  • 提示模板(Prompts):定义和渲染用于 LLM 交互的模板,便于统一对话风格和输出格式。
  • JSON-RPC 通信:服务器通过标准的 JSON-RPC 协议与客户端交互请求与响应。
  • 会话与能力声明:服务器端维护会话信息、能力宣告,并支持通过不同传输协议(如 STDIO)进行通信。

此外,服务器内部实现了用于代码生成和框架分析的工具,能够从 JIRA 任务或 AI 引导生成 Page Object、Feature 文件、Step Definitions 等组件。

2) 主要功能点

  • MCP 核心能力
    • 注册并提供 Tools、Resources、以及 Read/List Resource 接口。
    • 处理对 Tool 的调用请求,返回生成的代码或文本。
    • 支持对框架结构的分析与自适应代码生成。
  • 资源与工具管理
    • 提供框架信息、BasePage 模板等资源,便于客户端获取参考素材。
    • 支持对工具的清单查询和具体调用。
  • 脚本生成功能
    • 通过 MCP 工具链自动生成 Page Object、Feature、Step Definitions 等代码文件。
    • 支持从 JIRA 故事自动提取需求并生成测试用例。
  • 通信与部署
    • 采用 stdio 传输实现 JSON-RPC 通信,便于集成到本地管道或脚本环境。
    • 具备服务器启动、资源读取、以及工具调用等完整的运行路径。

3) 安装与运行步骤

  • 依赖与准备
    • 需要 Node.js 环境用于 MCP 服务器组件的运行。
    • 需要 Java 项目环境用于 Playwright 流程的构建与执行(示例中使用 Maven)。
  • 安装步骤(概览)
    • 将仓库克隆到本地。
    • 在 mcp-server 目录中安装依赖并构建启动脚本(如 npm install)。
    • 运行 MCP 服务器(通常通过 npm start,或直接执行 dist/index.js 对应入口)。
    • 服务器启动后即可通过 MCP 客户端对资源、工具、以及提示模板发起请求。
  • 服务器配置(供 MCP 客户端使用的配置示例,客户端无需本地运行以下内容)
    • server name: "playwright-automation-mcp-server"
    • command: "node"
    • args: ["mcp-server/dist/index.js"] 注:此配置用于 MCP 客户端在外部进程中连接并调用该 MCP 服务器的入口。配置信息仅供客户端连接服务器时参考,服务器端实现会自行暴露相应的 JSON-RPC 接口。
  • 基本使用路径(高层次描述)
    • 客户端通过 JSON-RPC 向服务器提交请求,读取框架资源、调用工具(如生成代码、分析框架等)、获取 Prompts。
    • 服务器依据请求在本地资源、工具实现中执行操作并返回结构化的 JSON-RPC 响应,或发送通知。

4) 使用要点与注意

  • MCP 的核心通信机制为 JSON-RPC,请确保客户端正确构造请求并解析响应。
  • 资源、工具、以及读取资源的实现路径都在服务器端清晰定义,确保测试用例可重复使用。
  • 服务器在 STDIO 传输下运行时,需确保外部依赖和工作目录正确配置,以避免路径与权限问题。
  • 如需扩展工具或资源,请在服务器端工具注册区和资源读取区进行相应实现。

5) 配置示例说明

  • 服务器名称:playwright-automation-mcp-server
  • 启动命令:node
  • 参数:mcp-server/dist/index.js
  • 作用:通过该配置,MCP 客户端在启动时能够连接到服务器入口,发起对 Tool、Resource 的请求以及对系统能力的探知与利用。

6) 运行与集成建议

  • 将 MCP 客户端与此服务器对接时,确保网络与权限允许 JSON-RPC 请求通过(本示例使用 STDIO 传输,若切换到 WebSocket/网络传输则需相应端口与中间件配置)。
  • 使用服务器提供的工具进行框架分析与代码生成时,请确保目标工作目录具备 Playwright/Cucumber/TestNG 的相关环境与依赖,以便生成的代码能够被正确编译执行。

7) 相关功能与扩展

  • 现有实现提供从 JIRA 任务自动生成测试代码的能力,结合 AI 自动化能力,可对需求进行智能化推演与实现。
  • 未来可扩展更多资源类型、工具集合,以及更丰富的 Prompt 模板,以支持多场景的上下文服务。

信息

分类

开发者工具