剧作家MCP自动化
一个基于Playwright的小型测试自动化框架,预先配置用于模型上下文协议(MCP)服务器和人工智能辅助测试生成。
快速摘要
- 测试:剧作家+TypeScript
- AI:可选的Anthropic集成(需要
ANTHROPIC_API_KEY) - 现场测试示例包括:
saucedemo(登录测试)
目录
- 快速启动
- 故障排除
- 辅助脚本
先决条件
- Node.js 20+
- npm(或纱线)
- 已安装Playwright浏览器(运行
npx playwright install)
快速启动
- 安装依赖项:
npm install- 安装Playwright浏览器:
npx playwright install- 运行所有测试:
npm test只运行Sauce Demo登录测试:
npx playwright test tests/sauce-login.spec.ts -j 1运行头部(可见)模式并显示报告
# Run headed (open browser window)
npx playwright test --headed
# Open the last HTML report
npx playwright show-report生成示例Excel测试数据:
npm run generate:dataAI测试生成(可选)
- 将您的Anthropic API密钥添加到
.env:
cp .env.example .env
# then edit .env and add:
ANTHROPIC_API_KEY=sk-ant-...your-key...酱汁演示证书(公共测试帐户)
URL: https://www.saucedemo.com/
Username: standard_user
Password: secret_sauce辅助脚本
scripts/verify-config.py--验证项目和MCP配置scripts/mcp-helper.sh--交互式助手菜单scripts/setup-claude-desktop.sh--将配置复制到Claude Desktop(如果使用桌面应用程序)
Slack集成
- 报告文件:此回购包括一名定制的剧作家记者,网址为
reporters/slack-reporter.ts它汇总测试总数和最高失败次数,并在运行结束时发布Slack通知(包括重试)。
- 剧作家配置:记者注册于
playwright.config.ts。对于此测试存储库,Slack webhook目前已硬编码在该文件中(因此报告者可以在不进行额外设置的情况下发布)。如果您更喜欢更安全的方法,请更改配置以通过process.env.SLACK_WEBHOOK并在CI中设置该秘密。
- 本地运行(硬编码webhook):因为webhook是硬编码的
playwright.config.ts,只需运行测试即可发布到Slack。例子:
# install deps (once)
npm ci
# run tests (will post to the configured webhook)
npx playwright test- 手动webhook测试(curl):您仍然可以使用curl直接测试webhook(将URL替换为您的webhook):
curl -X POST --data-urlencode "payload={\"channel\": \"#my-channel-here\", \"username\": \"webhookbot\", \"text\": \"This is posted to #my-channel-here and comes from a bot named webhookbot.\", \"icon_emoji\": \":ghost:\"}" https://hooks.slack.com/services/xxxxxxxxx/xxxxxxxxx/xxxxxxxxxxxxxxxx- GitHub操作CI:有一个工作流
.github/workflows/playwright-ci.yml在上运行测试main(关于推送/PR)。工作流执行以下操作:
- 安装Node 20并缓存npm - 跑 npm ci 在repo根目录中并执行根目录 npm test (根剧作家运行) - 安装依赖项并运行 npm ci 和 npm test 内部 api-sample (因此API测试作为一个单独的包运行) - 安装Playwright浏览器(npx playwright install --with-deps) - 完成后上传两个工件: playwright-report (根)和 api-sample-report (api示例)
项目布局
src/--页面对象、代理、核心框架tests/--剧作家测试规范tests/data/--生成的Excel测试数据scripts/--辅助脚本
备注
- 不要将机密(API密钥)提交到版本控制
