🤖 MCP服务器:Selenium + Playwright 质量保证自动化测试
*面向AI驱动浏览器自动化的统一Web测试MCP服务器*
*通过集成模型上下文协议,彻底革新问答工作流程*
______________________________________________________________________
🌐(表示互联网或网络的符号,可译为“网络”或“互联网”) 项目概述
这个项目展示了如何从一个统一的QA(质量保证)工作空间协调管理网络测试MCP(模型上下文协议)服务器(Selenium MCP和Playwright MCP),使AI代理能够通过现代IDE(集成开发环境)中的自然语言命令来驱动真实浏览器,例如(此处可添加具体IDE名称,但原文未提供,故保留泛指) Cursor/VS Code 或者像(某)AI客户端这样的(应用) Claude Desktop(可译为“克劳德桌面版”或根据具体语境简化为“克劳德桌面”,但为保持原名特色,推荐使用“克劳德桌面版”) 和 鹅。
为什么选择MCP进行质量保证(QA)?
- 🛠️(工具/修理的象征,无直接对应中文词汇,可理解为“工具”或“修理”) 标准化接口在不同自动化框架中为AI代理提供一致的API
- 👨💻 代表一个正在使用电脑的男性。 以开发者为中心的工作流程即时将自然语言提示转换为可执行的测试代码
- 🔄 旋转或循环(符号本身无直接对应中文词汇,通常用于表示循环、重复或旋转的动作/过程) 框架无关(或框架中立)无缝切换Selenium和Playwright,无需改变您的使用方法
- 🎯 目标/靶心 IDE 集成现代开发环境中的原生支持
🎭 表情符号“🎭”在中文中通常被翻译为“戏剧面具”或保持原样作为表情符号使用,不直接对应特定汉字,但在描述时可理解为“戏剧脸谱”或“表演面具”的意象。因此,可以翻译为“🎭 戏剧面具/表演面具”(根据语境选择具体表述)。 测试的演变
那些需要编写数百行模板化自动化代码的日子已经一去不复返了。 MCP质量保证自动化 这代表了软件测试的下一次进化——即AI代理能够理解您的测试意图,并将其转化为在多个框架上执行的精确浏览器操作。
🌟 我们与众不同之处在哪里?
与传统的自动化工具不同,后者需要大量的编程知识,我们的MCP集成方法使您能够:
- 用通俗易懂的英语表达自然地描述你的测试场景
- 即时代码生成观看AI将您的想法转化为可执行的测试
- 跨框架和谐在Selenium和Playwright之间无缝切换
- 视觉智能基于人工智能的元素识别与交互
______________________________________________________________________
🎯(目标) 阿森纳特色
🔮 这个符号在中文里通常被用作一种神秘或占卜的象征,可以简单地翻译为“神秘之眼”或“占卜之眼”,但具体翻译可能根据上下文和语境有所变化。如果直接作为符号使用,有时也会保留原样或用类似“魔法之眼”这样的表述来传达其神秘感。 基于人工智能的测试生成
# Simply describe what you want to test
"Test the login with invalid credentials and capture the error message"
# → Generates complete test automation code🎨 画笔/艺术创作(表情符号,无直接文字对应,可理解为与绘画或艺术创作相关的意思) 多框架架构
| 框架 | 语言 | 优势 |
|---|---|---|
| 剧作家 🎭 | Python | 现代、快速、可靠 |
| 硒 🕸️ | Java & Python | 行业标准,广泛支持 |
🎪 表示“马戏团”或“游乐场”的意思。 智能测试场景
- 🔐 认证测试带有智能错误检测的登录/登出流程
- 📋 表单验证实时反馈的动态表单测试
- 📱 跨浏览器兼容性一次测试,多个浏览器
- 📸 视觉回归自动化截图对比
______________________________________________________________________
🚀 一个火箭的符号,常用来表示快速、进步或太空探索等概念。 发射序列
第一步:克隆阿森纳(或:获取阿森纳的副本/复制品)
git clone https://github.com/AuTeLipi/MCP_Server_Selenium_Playwright_QA.git
cd MCP_Server_Selenium_Playwright_QA第二步:准备你的武器
# Python Environment
pip install -r requirements.txt
playwright install
# Java Environment (for Selenium)
# Ensure Java 11+ and Maven are installed步骤3:配置MCP集成
创建 .cursor/mcp.json 在你的集成开发环境(IDE)中:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"selenium": {
"command": "npx",
"args": ["-y", "@angiejones/mcp-selenium"]
}
}
}步骤4:启动你的首次任务
# Playwright Mission
python Module01_Automation_UsingPlaywright/vwo_invalid_login_test.py
# Selenium Mission
python Module02_Automation_UsingSelenium/vwo_invalid_login_selenium.py______________________________________________________________________
🗂️(文件夹图标,无具体文字含义,可理解为“文件夹”或“分类”) 任务控制结构
🏗️ MCP_Server_Selenium_Playwright_QA/
├── 🎭 Module01_Automation_UsingPlaywright/
│ ├── 🎯 vwo_invalid_login_test.py
│ └── 📚 lab_guides/
├── 🕸️ Module02_Automation_UsingSelenium/
│ ├── ☕ Java_implementations/
│ ├── 🐍 Python_implementations/
│ └── 📸 execution_screenshots/
├── 🐙 Module03_Push_Code_To_GitHub/
│ └── 🔄 integration_guides/
├── ⚡ Module04_Generate_Automation_Script/
│ ├── 🤖 ai_generated_scripts/
│ └── 📋 templates/
└── ⚙️ Configuration/
├── mcp.json
└── requirements.txt______________________________________________________________________
🧪 试管/实验(符号,常用于表示科学实验或化学实验) 现场实验
🔬(表示科学、实验室或显微镜等与科学相关的概念) 测试用例:VWO登录验证
目标验证无效登录尝试时的错误处理
AI 提示词: *“创建一个测试,尝试使用错误凭据登录VWO并验证错误消息”*
生成的输出:
- ✅ 自动化浏览器启动
- ✅ 表单交互模拟
- ✅ 错误信息捕获
- ✅ 截图记录
- ✅ 断言验证
🔬 这个表情符号通常代表“实验室”或“科学”,在中文中可以翻译为“🔬 实验室”或简化为“🔬 科学”。不过,具体翻译可能根据上下文和使用场景有所调整。 测试用例:iDrive360注册流程
目标测试综合注册表单验证
结果:
- 📱 国家代码选择测试
- 📞 电话号码格式验证
- ⚠️ 实时错误反馈捕捉
- 📊 表单填写分析
______________________________________________________________________
🎨 表示“艺术创作”或“绘画”的意思,可单独作为表情符号使用,没有直接的中文翻译,但可根据上下文理解为与艺术或绘画相关的概念。 视觉纪事
我们的测试不仅仅是通过或失败那么简单——它们通过捕捉的瞬间讲述着故事:
| 测试阶段 | 视觉证据 |
|---|---|
| 🏁 初始加载 | 清除页面状态捕获 |
| ⌨️ 用户交互 | 表单填写进度 |
| ❌ 错误状态 | 验证消息显示 |
| 🎯 最终结果 | 成功/失败记录文档 |
______________________________________________________________________
🔧(扳手) 高级配置
自定义测试数据工厂
# Dynamic data generation for realistic testing
class TestDataFactory:
@staticmethod
def generate_invalid_credentials():
return {
"username": fake.email(),
"password": fake.password(length=8),
"expected_error": "Your email, password, IP address or location did not match"
}多环境支持
# environments.yml
staging:
base_url: "https://staging.vwo.com"
timeout: 10000
production:
base_url: "https://vwo.com"
timeout: 5000______________________________________________________________________
🤝(握手) 加入我们的使命
对于贡献者
- 🍴(餐盘或餐具的符号,可具体翻译为“餐盘”或根据上下文翻译为“餐具”等) 叉(或分叉) 仓库
- 🌿(蕨类植物/绿叶植物的符号,无具体含义,可理解为“绿色植物”或“自然之息”) 创建 一个特性分支(
feature/amazing-test-case) - ✨(闪亮的星星或表示赞叹、喜悦等情绪的表情符号) 提交(或“承诺”) 您的更改附带描述性信息
- 🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接用该表情符号表示,因为它形象地代表了火箭发射或快速前进的意象。在没有具体上下文的情况下,我们一般就直接使用这个表情符号来传达其含义。 推动;推进 到你的分部/分支机构
- 🎯 目标(靶心) 创造 一个带有详细描述的拉取请求
对于测试人员
- 🐛 报告错误时请提供详细的复现步骤
- 💡 提出新的测试场景建议
- 📝 改进文档
- 🎨 分享创意测试实现方案
______________________________________________________________________
🏆(这个符号通常代表奖杯或胜利,没有直接的中文翻译,但可以理解为“冠军”或“胜利”的象征) 名人堂
创建者
AuTeLipi(注:此词可能为特定领域或品牌名称,无直接对应中文翻译,故保留原样) - *自动化卓越的架构师*
特别感谢
- 普拉莫德·杜塔 为引入MCP并在测试自动化领域开拓新天地
- 微软Playwright团队 用于MCP集成
- 安吉·琼斯 用于Selenium MCP开发
- 这个(或“它”) 问答社区 以持续获得灵感
______________________________________________________________________
📜(文档、文件) 许可与免责声明
这个项目遵循以下许可协议 麻省理工学院许可证(MIT License) - 看见 许可证 文件中有详细信息。
*为QA社区倾心打造。愿您的测试结果总是绿色(即无错误),bug寥寥无几。*
______________________________________________________________________
准备好彻底革新您的测试工作流程了吗?
 
测试的未来已来。你准备好迎接它了吗?
