🤖 QA测试MCP服务器
AI驱动的自动化QA测试 克劳德和剧作家
一个模型上下文协议(MCP)服务器,使Claude能够在web应用程序上执行智能、自动化的QA测试。通过与克劳德的自然对话,获取详细的测试报告、人工智能故障分析和可操作的建议。
  
______________________________________________________________________
✨ 特性
🎯 综合测试场景
- ✅ 有效登录测试 -验证身份验证流程是否成功
- ❌ 凭据测试无效 -确保安全措施正常工作
- 📝 表单验证测试 -测试空场处理和验证
- 🔄 批量测试 -按顺序运行所有场景,并提供详细报告
📊 智能报告
- 详细的通过/失败分析 -确切地知道什么过去了,什么失败了
- 根本原因识别 -AI驱动的故障分析
- 影响评估 -了解每个问题的严重性
- 可采取行动的建议 -获取解决问题的具体步骤
- 自动截图 -捕获故障以进行调试
🚀 为克劳德而建
- 自然语言接口 -让克劳德以对话的方式运行测试
- 情境理解 -Claude解释结果并提供见解
- 集成工作流 -在Claude对话中无缝测试
______________________________________________________________________
📋 目录
______________________________________________________________________
🔧 先决条件
在开始之前,请确保已安装以下内容:
- .NET 8.0 SDK 或更高
- 克劳德桌面 应用
- 剧作家 (安装过程中自动安装)
- Windows、macOS或Linux 操作系统
______________________________________________________________________
📦 安装
步骤1:克隆存储库
git clone https://github.com/nikhilfufu/MCP_SERVER_WITH_PLAYWRIGHT_AND_CLAUDE.git
cd MCP_SERVER_WITH_PLAYWRIGHT_AND_CLAUDE步骤2:恢复依赖关系
dotnet restore步骤3:安装Playwright浏览器
# Install Playwright CLI globally
dotnet tool install --global Microsoft.Playwright.CLI
# Install Chromium browser
pwsh bin/Debug/net8.0/playwright.ps1 install步骤4:构建项目
dotnet build步骤5:测试安装
dotnet run您应该看到MCP服务器已成功启动。
______________________________________________________________________
⚙️ 配置
配置Claude桌面
- 找到您的Claude Desktop配置文件:
- 窗户: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
- 添加MCP服务器配置:
{
"mcpServers": {
"csharp-mcp": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:/createdFolder/McpServer/bin/Debug/net8.0/McpServer.dll"
]
}
}
}⚠️ 重要提示: 使用 绝对路径 到您的项目目录。
示例配置:
窗户:
{
"mcpServers": {
"csharp-mcp": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:/createdFolder/McpServer/bin/Debug/net8.0/McpServer.dll"
]
}
}
}macOS/Linux:
{
"mcpServers": {
"csharp-mcp": {
"command": "dotnet",
"args": [
"run",
"--project",
"/Users/yourname/projects/MCP_Server/McpServer/bin/Debug/net8.0/McpServer.dll"
]
}
}
}步骤3:重新启动克劳德桌面
- 完全退出克劳德桌面 (不仅仅是关上窗户)
- 重新打开克劳德桌面
- 寻找🔌 工具图标 在输入框中
______________________________________________________________________
🚀 用法
快速开始
配置后,您可以通过与Claude的自然对话与QA测试工具进行交互:
Hey Claude, can you test the login functionality on https://myapp.com
with username "testuser" and password "testpass"?Claude将自动调用适当的测试工具并提供详细的分析。
直接刀具调用
您还可以直接调用特定的测试场景:
测试有效登录
Run scenario1_ValidLogin with:
- url: "https://myapp.com/login"
- username: "testuser"
- password: "testpass123"测试无效登录
Run scenario2_InvalidLogin with:
- url: "https://myapp.com/login"
- wrongUsername: "baduser"
- wrongPassword: "wrongpass"测试空白字段
Run scenario3_EmptyFields with:
- url: "https://myapp.com/login"运行所有测试
Run runAllScenarios with:
- url: "https://myapp.com/login"
- validUsername: "testuser"
- validPassword: "testpass123"
- invalidUsername: "baduser"
- invalidPassword: "wrongpass"______________________________________________________________________
🛠️ 可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
sayHello | 测试MCP连接 | name (字符串) |
list_tools | 列出所有可用工具 | 无 |
scenario1_ValidLogin | 测试成功登录流程 | url, username, password |
scenario2_InvalidLogin | 测试无效凭据拒绝 | url, wrongUsername, wrongPassword |
scenario3_EmptyFields | 测试空字段验证 | url |
runAllScenarios | 执行所有测试场景 | url, validUsername, validPassword, invalidUsername, invalidPassword |
______________________________________________________________________
📊 示例输出
当你奔跑时 runAllScenarios,您将收到这样一份全面的报告:
╔════════════════════════════════════════════════════════════════╗
║ QA TEST EXECUTION - DETAILED RESULTS ║
╚════════════════════════════════════════════════════════════════╝
📊 SUMMARY: 2 Passed | 1 Failed | Total: 3
⏱️ Executed at: 2024-11-23 14:30:45
======================================================================
TEST 1: Scenario 1: Valid Login Test
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status: ✅ PASSED
Description: Tests that a valid user can successfully log in with correct credentials
Duration: 3.45 seconds
✓ Result: All validations passed successfully
All assertions passed. No issues detected.
──────────────────────────────────────────────────────────────────────
TEST 2: Scenario 2: Invalid Login Test
══════════════════════════════════════════════════════════════════════
Status: ❌ FAILED
Description: Tests that invalid credentials are properly rejected by the system
Duration: 2.87 seconds
✗ Failure Reason: SECURITY ISSUE: System accepted invalid credentials
📋 Detailed Analysis:
• Invalid credentials were accepted by the system
• This is a critical security vulnerability
• Impact: Unauthorized access possible
• Action Required: Fix authentication validation immediately
──────────────────────────────────────────────────────────────────────
TEST 3: Scenario 3: Empty Fields Validation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status: ✅ PASSED
Description: Tests that the login form validates empty username/password fields
Duration: 1.23 seconds
✓ Result: All validations passed successfully
All assertions passed. No issues detected.
──────────────────────────────────────────────────────────────────────
======================================================================
🎯 RECOMMENDATIONS:
🔴 CRITICAL: Address security vulnerabilities immediately
- Review authentication logic
- Implement proper credential validation
📄 Full HTML report available at: ExtentReport.html克劳德的人工智能分析
运行测试后,Claude将提供以下智能见解:
“我已经在您的登录页面上完成了QA测试。以下是我的发现: 好消息: 您的有效登录流程运行良好(3.45秒),并且正确实施了空字段验证。 关键问题: 存在严重的安全漏洞-系统正在接受无效凭据。这需要立即引起注意,因为它可能允许未经授权访问您的应用程序。 建议: 我建议在后端检查您的身份验证逻辑。问题可能出现在凭证验证步骤中。你想让我帮你进一步调查这件事吗?"
______________________________________________________________________
🐛 故障排除
MCP没有出现在克劳德身上
问题: 工具图标未显示在Claude Desktop中
解决:
- 验证配置文件路径是否正确
- 确保JSON语法有效(使用JSON验证器)
- 使用绝对路径,而不是相对路径
- 检查克劳德桌面日志:
- 窗户: %APPDATA%\Claude\logs - macOS: ~/Library/Logs/Claude - Linux: ~/.config/Claude/logs
- 完全重新启动克劳德桌面
找不到剧作家浏览器
问题: 错误:“可执行文件不存在于…”
解决方案:
playwright install chromium测试超时失败
问题: “超时超过10000毫秒”
解决:
- 增加代码中的超时时间
- 检查目标网站是否加载缓慢
- 验证选择器是否正确
- 确保您的互联网连接稳定
未找到选择器
问题: “没有元素与选择器匹配…”
解决:
- 检查网页并验证选择器ID/类
- 更新代码中的选择器以匹配您的应用程序
- 等待页面完全加载后再进行交互
- 使用更具体的选择器
构建错误
问题: 构建失败,出现依赖关系错误
解决方案:
dotnet clean
dotnet restore
dotnet build______________________________________________________________________
🤝 贡献
欢迎投稿!以下是您可以提供帮助的方式:
- 复刻仓库
- 创建要素分支:
git checkout -b feature/amazing-feature - 提交您的更改:
git commit -m 'Add amazing feature' - 推到分支:
git push origin feature/amazing-feature - 打开拉取请求
贡献的想法
- 🌐 支持其他浏览器(Firefox、Safari)
- 📱 移动测试能力
- 🔄 API测试集成
- 🎨 自定义报告主题
- 🌍 多语言支持
- ⚡ 并行测试执行
- 📊 绩效指标跟踪
______________________________________________________________________
🙏 致谢
______________________________________________________________________
📞 支持
- 问题:
- 电子邮件: nikhilfufu@gmail.com
______________________________________________________________________
🌟 星迹
如果你觉得这个项目有用,请考虑给它一个⭐ 在GitHub上!
______________________________________________________________________
📚 额外资源
______________________________________________________________________
