自动化测试框架

一个基于Playwright和JavaScript的专业自动化测试框架,支持UI自动化、API自动化、轻量级合约检查及MCP-ready AI集成。

  • by SantoshKadve
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 SantoshKadve/ai-playwright-mcp-framework-js

使用说明

基于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占位符选项

该框架附带了三条占位符集成路径:

  1. 模拟适配器,用于确定性本地开发。
  2. stdio MCP客户端,用于代理工具通常使用的本地MCP服务器。[web:23][web:26]
  3. 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 report

Docker运行

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]