Cypress MCP测试生成器
该项目提供了一个模型上下文协议(MCP)服务器,该服务器根据自然语言提示生成Cypress测试。只需用简单的英语描述您的测试场景,服务器就会生成一个功能齐全的Cypress测试。
目录
设置
先决条件
- Node.js(v16或更高版本)
- npm(附带Node.js)
- VS代码
- TypeScript
安装
- 克隆存储库:
git clone
cd your-project-directory- 安装依赖项:
npm install- 构建项目:
npm run build- 创建VS代码MCP配置:
mkdir -p .vscode- 创建
.vscode/mcp.json包含以下内容(更新路径以匹配您的系统):
{
"servers": {
"cypress-mcp": {
"type": "stdio",
"command": "node",
"args": ["path/to/your/project/build/index.js"]
}
}
}用法
- 在VS Code中打开您的项目
- MCP服务器将自动启动
- 打开VS Code的命令面板,键入测试描述
- 服务器将根据您的描述生成Cypress测试
原理
- 您的自然语言提示由MCP服务器处理
- 服务器生成适当的Cypress命令和断言
- 在柏树/e2e目录中创建了一个新的测试文件
- 测试已准备好使用Cypress运行
示例提示
以下是您可以使用的一些示例提示:
- 基本导航和搜索:
"Go to google.com and search for 'cypress testing'"生成的测试将:
- 导航到谷歌
- 处理cookie同意(如果存在)
- 键入搜索词
- 验证搜索结果
- 登录流程:
"Visit login page, enter username 'test@example.com', type password 'password123', click login button, and verify dashboard appears"生成的测试将:
- 导航到登录页面
- 填写凭证
- 提交表单
- 验证登录成功
- 表格提交:
"Navigate to contact-form.com, fill in name 'John Doe', enter email 'john@example.com', type message 'Hello World', click submit button, and verify success message appears"配置
项目结构
project-root/
├── src/
│ ├── index.ts # MCP server implementation
│ └── cypress/
│ └── commands.ts # Custom Cypress commands
├── cypress/
│ ├── e2e/ # Generated test files
│ └── support/ # Support files
└── .vscode/
└── mcp.json # MCP server configuration自定义服务器
您可以通过修改以下内容来自定义测试生成:
- src/index.ts中的测试模板
- src/pesiber/commands.ts中的自定义命令
- 错误处理和重试机制
故障排除
常见问题
- 服务器未启动
- 验证mcp.json中的路径是否正确 - 检查build/index.js是否存在 - 确保Node.js版本兼容
- 测试生成失败
- 检查提示格式 - 验证服务器日志是否有错误 - 确保安装了所有依赖项
- VS代码集成问题
- 重新加载VS代码窗口 - 检查VS Code的输出面板是否有错误 - 验证.vcode/mcp.json配置
错误消息
- “服务器在响应前退出”
- 检查mcp.json中的文件路径 - 重建项目 - 重新启动VS代码
- “找不到模块”
- 运行npm安装 - 检查生成文件夹是否存在 - 重建项目
日志位置
- 服务器日志:VS Code的输出面板(Cypress MCP服务器)
- 生成的测试文件:柏树/e2e目录
- 构建输出:构建目录
脚本命令
{
"scripts": {
"build": "tsc",
"start": "node build/index.js",
"dev": "tsc --watch",
"cypress:open": "cypress open",
"cypress:run": "cypress run"
}
}提示的最佳实践
- 具体
- 在适用的情况下包含URL - 为输入指定精确的文本 - 提及预期的验证
- 使用清除操作
- “访问”或“转到”进行导航 - 输入“type”或“enter” - 点击按钮进行交互 - “验证”或“检查”断言
- 包括验证步骤
- 提及行动后应该出现的内容 - 包含预期的文本或元素 - 如果需要,指定超时
支持
对于问题和疑问:
- 查看故障排除指南
- 查看服务器日志
- 检查VS Code的输出面板
- 验证文件路径和配置
备注
- 服务器自动处理cookie同意对话框等常见情况
- 生成的测试包括可靠性重试机制
- 自定义命令可用于复杂的交互
- 测试是使用TypeScript支持生成的
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件
