基于Playwright+JavaScript+MCP的人工智能驱动自动化框架
一个专业的概念验证框架 UI自动化、API自动化、轻量级合同检查和MCP-ready AI集成 使用Playwright和JavaScript。
为什么这个回购对求职很有吸引力
- 在一个框架中演示UI和API自动化的Playwright。\[页:1\]
- 使用页面对象和模块化框架设计来提高可维护性,这与面向Playwright的POM指南相一致,即页面对象应封装交互,并将测试逻辑排除在实现细节之外。\[网址:27\]\[网址:24\]
- 将MCP适配器与测试用例分开,这样AI集成就可以在不将框架锁定到一个提供者的情况下发展。\[web:23\]\[web:26\]
- 包括Docker和CI,使框架具有可移植性和企业友好性。\[网址:22\]\[网址:31\]
建筑
flowchart LR
T[Tests] --> F[Fixtures]
F --> P[Page Objects]
F --> A[API Client]
F --> M[MCP Client]
M --> O1[Mock Adapter]
M --> O2[stdio MCP]
M --> O3[HTTP Gateway]
T --> R[Reports]
T --> C[GitHub Actions]repo将UI、API、契约和混合流保留在单独的测试层中,同时重用公共固定装置和实用程序。Playwright通过以下方式支持API测试 APIRequestContext,包括仅API验证、UI测试前的服务器端设置以及UI操作后的服务器状态检查。\[第1页\]
包括的场景
用户界面
- 有效登录。
- 锁定用户负面登录。
- 凭据验证无效。
- 将产品添加到购物车。
API
- 获取用户列表。
- GET单用户。
- POST创建用户。
- 负注册场景。
混合
- 通过UI登录并在同一场景中验证API,这反映了Playwright的API测试模型所支持的实用模式。\[第1页\]
合同
- 轻量级响应结构检查GET和POST用户流。
MCP占位符选项
该框架附带了三条占位符集成路径:
- 模拟适配器,用于确定性本地开发。
- stdio MCP客户端,用于代理工具通常使用的本地MCP服务器。\[web:23\]\[web:26\]
- HTTP网关,用于内部AI编排服务。
这些是占位符,因此您现在可以呈现一个工作框架,然后稍后插入一个真正的MCP提供者。
码头工人
Playwright文档推荐Docker设置,例如 --init 避免PID 1过程问题 --ipc=host 用于容器中铬的稳定性。\[web:22\]这里的Docker设置使用官方Playwright镜像,compose文件包括 init: true 和 ipc: host 根据这一指导。\[网址:22\]\[网址:31\]
项目结构
src/
config/
core/
ai/
api/
mcp/
reporting/
utils/
fixtures/
pages/
components/
test-data/
tests/
ui/
api/
contract/
e2e/
docs/
scripts/
.github/workflows/设置
npm install
npx playwright install
cp .env.example .env跑
npm test
npm run test:ui
npm run test:api
npm run test:e2e
npm run test:contract
npm run test:smoke
npm run mcp:demo
npm run mcp:inspector报告
npm run report:allure # Generate Allure report
npm run report:allure:serve # Serve Allure report locally
npm run report # Playwright HTML reportDocker运行
docker build -t ai-playwright-mcp-framework .
docker run --init --ipc=host ai-playwright-mcp-framework建议GitHub抛光
- 添加Playwright HTML报告的屏幕截图。
- 在首次稳定运行后添加发布标签。
- 为路线图项目添加问题,如自我修复定位器、跟踪分流和AI生成的回归包。
- 为招聘人员录制一段简短的演示视频。
参考文献
- Playwright API测试支持直接的API请求和混合的UI加API工作流。\[第1页\]
- 剧作家Docker指南推荐
--init和--ipc=host用于可靠的Chromium执行。\[网址:22\] - 将Docker镜像版本与Playwright版本匹配有助于避免浏览器可执行文件不匹配。\[网址:31\]
