剧作家Python MCP
此存储库演示了一个Python测试客户端通过stdio上的官方Playwright MCP服务器驱动浏览器自动化。
GitHub Actions -> Python MCP Client --stdio--> Playwright MCP server (@playwright/mcp) -> Browser automation
什么跑
playwright_mcp/mcp_client.py开始@playwright/mcp和npx并使stdio会话保持活动状态。playwright_mcp/mcp_adapter.py对Playwright的公共TodoMVC演示执行烟雾流,然后评估document.title.tests/test_example.py验证Python客户端是否连接到Playwright MCP stdio命令和工具名称。tests/test_mcp_integration.py是一个可选择参与的实时烟雾测试,可启动真正的MCP服务器和浏览器。.github/workflows/ci.yml安装Python依赖项、Node 20,@playwright/mcpChromium,然后运行完整的测试套件。
本地设置
python -m venv venv
.\venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
npm install -g @playwright/mcp@latest
npx -y @playwright/mcp@latest install-browser chrome-for-testing仅运行单元测试:
python -m pytest -v在本地运行实时MCP烟雾:
$env:RUN_PLAYWRIGHT_MCP_INTEGRATION = "1"
python -m pytest -v tests/test_mcp_integration.py运行手动流程:
python main.py配置
客户端默认使用官方的stdio命令:
npx -y @playwright/mcp@latest --headless --browser chrome --isolated您可以用以下命令覆盖可执行文件:
$env:PLAYWRIGHT_MCP_COMMAND = "npx"您可以使用以下命令覆盖公共烟雾测试URL:
$env:PLAYWRIGHT_MCP_SMOKE_URL = "https://playwright.dev/"
$env:PLAYWRIGHT_MCP_SMOKE_TITLE_TEXT = "Playwright"上一个 MCP_SERVER_URL 此仓库不再需要WebSocket流。浏览器自动化现在通过本地stdio MCP服务器进程实现。
@playwright/mcp@latest 目前需要Node.js 20+用于直播烟雾。单元测试仍然在不启动MCP服务器的情况下运行。
默认烟雾URL为 https://demo.playwright.dev/todomvc/,一个为Playwright自动化示例维护的免费公共演示应用程序。
GitHub操作
CI工作流程:
- 检出存储库。
- 设置Python 3.11。
- 安装
requirements.txt. - 设置节点20。
- 安装
@playwright/mcp@latest. - 为剧作家安装Chromium。
- 运行pytest并上传
report.html.
