一个专门的模型上下文协议(MCP)服务器,提供全面的Web应用程序UI测试自动化能力。该服务器通过浏览器自动化实现智能测试创建、测试修复以及手动测试转换。
git clone <repository-url>
cd playwright-test-generator
npm install
在您的MCP客户端配置文件中添加以下内容:
{
"mcpServers": {
"playwright-test-automation": {
"command": "node",
"args": ["/path/to/playwright-test-generator/cli.js"],
"env": {
"NODE_ENV": "production"
},
"timeout": 60000
}
}
}
generate_test_from_manual_steps - 将手动测试步骤转换为自动化代码analyze_test_failure - 分析并修复损坏的测试自动化create_test_suite - 从Web应用探索生成综合测试套件browser_navigate - 导航到URL和页面browser_snapshot - 捕获页面结构和可访问性树browser_click - 使用智能目标点击元素browser_type - 向表单字段和输入框中输入文本browser_evaluate - 执行JavaScript进行高级交互browser_take_screenshot - 捕获视觉证据以验证测试browser_console_messages - 监控控制台日志和错误browser_network_requests - 跟踪网络活动和API调用browser_wait_for - 处理动态内容和定时// 需要自动化的手动测试步骤:
const manualSteps = [
"在客户姓名字段中填写'John Doe'",
"输入电子邮件地址'john@example.com'",
"从披萨尺寸选项中选择'Medium'",
"勾选'Extra Cheese'配料",
"点击'Submit Order'按钮",
"验证订单确认出现"
];
// 生成自动化测试
await generate_test_from_manual_steps({
manual_steps: manualSteps,
test_name: "披萨订单表单测试",
test_framework: "playwright",
output_format: "javascript"
});
// 分析并修复失败的测试
await analyze_test_failure({
test_code: `
await page.click('#submit-btn');
await expect(page.locator('.success')).toBeVisible();
`,
error_message: "未找到元素: #submit-btn",
test_framework: "playwright"
});
// 为Web应用程序生成完整的测试套件
await create_test_suite({
base_url: "https://your-webapp.com",
test_scenarios: [
"用户登录流程",
"产品搜索和筛选",
"购物车操作",
"结账过程"
],
framework: "playwright",
include_assertions: true
});
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP客户端 │◄──►│ MCP服务器 │◄──►│ 浏览器 │
│ (Amazon Q) │ │ 测试生成器 │ │ (实时Web应用) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ 生成的测试 │
│ • Playwright │
│ • Cypress │
│ • Selenium │
└──────────────────┘
MCP服务器作为MCP客户端和Web应用程序之间的智能桥梁,提供:
NODE_ENV=production # 生产模式
BROWSER_TYPE=chromium # 浏览器选择(chromium, firefox, webkit)
HEADLESS=true # 无头浏览器操作
OUTPUT_DIR=/path/to/output # 截图和日志目录
服务器支持细粒度的能力控制:
core - 基本浏览器自动化工具test-generation - 测试创建和修复工具vision - 视觉测试和分析(可选)pdf - PDF生成能力(可选)browser_navigatebrowser_snapshot获取页面结构generate_test_from_manual_steps测试生成失败
元素未找到错误
性能问题
Playwright UI 测试自动化 MCP 服务器 - 将手动测试转变为现代Web应用程序的智能自动化!