Token导航 LogoToken导航TokenDH.com
Playwright Bdd Test Gen logo
浏览器工具未说明官方级别未说明来源级核验

Playwright Bdd Test Gen

MCP Server

一个将Gherkin特性文件解析并生成Playwright测试的服务,集成了AI适配器和Playwright控制器。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
测试自动化TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Tyler-R-Kendrick

提供方

Tyler-R-Kendrick

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

剧作家bdd test gen

一个小型服务,通过编排解析器、AI适配器和Playwright控制器来摄取Gherkin特征文件并生成Playwright测试。

此存储库包含:

  • 用于上载功能和启动生成作业的Express API
  • MCP流式HTTP端点(/mcp)使用官方SDK实现模型上下文协议(@modelcontextprotocol/sdk)
  • Gherkin解析器和弹性回退解析器
  • AI适配器挂钩(克劳德/浏览器使用)
  • 执行浏览器动作并捕获动作跟踪的Playwright控制器
  • 在以下情况下发出Playwright测试文件(模拟Playwright代码发生器/记录器输出)的测试编写器 generated/playwright

先决条件

  • 已安装Node.js(LTS)(建议使用Node 18+)
  • Git
  • 互联网访问(用于Playwright浏览器下载和可选的AI API访问)

快速设置

  1. 安装依赖项

npm安装

  1. 安装Playwright浏览器(E2E测试所需)

npx剧作家装置——带deps

  1. 复制示例环境并配置值(可选)

cp.env.example.env

编辑 .env 设置:

- PORT (服务器端口) - AI_PROVIDER (例如。 claudebrowser-use) - ANTHROPIC_API_KEY / ANTHROPIC_API_URL (如果使用克劳德) - BROWSER_USE_URL (如果使用浏览器使用代理) - DEFAULT_BASE_URL (由确定性翻译器使用) - GEN_OUTPUT_DIR (默认为 generated)

运行应用程序(开发)

启动TypeScript开发服务器(使用 tsx):

npm运行开发

该应用程序在上公开REST端点 http://localhost: (默认值为4000)。

正常运行时(NODE_ENV!==“test”),服务器在上注册MCP流式HTTP传输 /mcp 使用官方的MCP TypeScript SDK。有关详细信息,请参阅下面的PRD和MCP服务器部分。

API(快速参考)

  • POST /api/features --上传一个小黄瓜 .feature 文件(表单字段 file).退货 { featureId, filename }上传作为MCP资源存储(默认情况下在内存中)——上传流不会将其写入磁盘。
  • GET /api/features --列出已注册的功能资源(返回 [{ id, filename, createdAt }, ...]).
  • GET /api/features/:id --返回特征资源(text/plain)的原始Gherkin内容。
  • POST /api/generation/:featureId --为以下标识的特征资源启动生成作业 featureId.JSON正文可能包含以下选项 { baseUrl }.退货 { jobId, status }.
  • GET /api/generation/:jobId/status --轮询生成作业状态(queued, running, completed, failed).
  • GET /api/generation/files --生成的Playwright文件列表 GEN_OUTPUT_DIR || generated/playwright.
  • GET /api/generation/files/:name --按名称下载生成的Playwright测试文件。

上传笔记

  • 上传中间件使用 multer 存储器存储,服务器在MCP支持的资源管理器中注册内容。
  • 使用返回的 featureId 当开始生成作业时。

MCP服务器(流式HTTP)

该项目集成了官方的MCP TypeScript SDK(@modelcontextprotocol/sdk)并在上公开可流式HTTP传输 /mcp.

  • 端点: POST /mcp (流式HTTP初始化和消息处理), GET /mcp / DELETE /mcp 用于会话管理交互。
  • 会话标头: Mcp-Session-Id 用于会话管理。基于浏览器的客户端必须通过CORS公开此标头(exposedHeaders: ['Mcp-Session-Id']).
  • 注册资源:a feature 资源模板(feature://{id})由内存资源管理器注册和支持。MCP客户端可以:

- listResources() 和过滤器 feature 资源 - readResource({ uri: 'feature://' }) 检索功能内容

  • 工具/提示:服务器可以注册MCP工具和提示(例如未来 generate 工具)。考虑使用MCP工具开始生成并将进度流式传输回客户端。

安全/CORS建议:

  • 如果您需要基于浏览器的MCP客户端,请启用CORS并公开 Mcp-Session-Id 作为回应。
  • 流式HTTP传输支持DNS重新绑定保护和允许的主机/源选项——通过配置 src/mcp/server.ts 如果需要的话。

运行测试

  1. 确保安装了Playwright浏览器(E2E测试所需):

npx剧作家装置——带deps

  1. 运行测试套件(单元+e2e):

npm测试--run

笔记:

  • 使用Vitest运行测试。E2E测试涵盖了上传→ 发电流量。

过梁和类型检查

  • 运行ESLint(项目使用平面配置 eslint.config.cjs):

npm运行lint

  • 仅运行TypeScript类型检查:

npx tsc--无排放

CI建议

  • 在CI中,运行:

1. npm ci 1. npx playwright install --with-deps 1. npm test -- --run 1. npm run lint

故障排除

  • 如果Playwright在测试中未能启动,请确保浏览器已安装 npx playwright install --with-deps.
  • 如果你需要纯WebSocket MCP传输,SDK还支持其他传输;请参阅PRD和SDK文档。

关键实施文件

  • src/mcp/resourceManager.ts --内存中MCP资源注册表(功能资源)
  • src/mcp/server.ts --MCP可流式HTTP接线使用 @modelcontextprotocol/sdk
  • src/routes/featureRoutes.ts --HTTP功能上传/列表/获取;将上传的功能注册为MCP资源
  • src/services/sessionService.ts --编排和生成作业处理
  • src/middleware/upload.tsmulter 用于上传的内存存储

备注

  • 该项目包含两种解析策略: @cucumber/gherkin 解析器(首选)和基于弹性线路的回退。
  • AI适配器被实现为HTTP客户端;使用时必须提供适当的API密钥/URL。

欢迎投稿和反馈。

目录标签

目录标签

测试自动化TypeScriptClaude本地部署Gherkin解析Playwright测试AI集成行为驱动开发

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP