Playwright测试自动化框架

一个基于Playwright的测试自动化框架,支持AI辅助测试生成和Slack集成,适用于Web应用测试。

  • by LabsKraft-2510
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 LabsKraft-2510/playwright-mcp-automation

使用说明

剧作家MCP自动化

一个基于Playwright的小型测试自动化框架,预先配置用于模型上下文协议(MCP)服务器和人工智能辅助测试生成。

快速摘要

  • 测试:剧作家+TypeScript
  • AI:可选的Anthropic集成(需要 ANTHROPIC_API_KEY)
  • 现场测试示例包括: saucedemo (登录测试)

目录

  • 快速启动
  • 故障排除
  • 辅助脚本

先决条件

  • Node.js 20+
  • npm(或纱线)
  • 已安装Playwright浏览器(运行 npx playwright install)

快速启动

  1. 安装依赖项:
npm install
  1. 安装Playwright浏览器:
npx playwright install
  1. 运行所有测试:
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:data

AI测试生成(可选)

  • 将您的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密钥)提交到版本控制