Playwright MCP测试服务

一个基于Playwright的端到端测试服务,用于验证汽车管理应用的功能、视觉和性能。

  • by DanielLipowicz
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 DanielLipowicz/SimPlayMcp

使用说明

SimPlayMcp

使用Playwright MCP服务器进行简单操作

测试中的应用程序

应用程序是单车或车队管理的POC。POC阶段使整个测试套件不稳定,数据模型更改的风险很高。 其目标是提供关键用户流的快速反馈,在系统级别验证前端-后端集成,并检测不稳定POC条件下的回归。

环境设置

  • 复制 .env.example 到 .env.
  • 集 STANDARD_USER_PASSWORD 测试数据使用的秘密密码。

页面对象模型规则

  • 每个页面对象都必须扩展 BasePage,这保证了 header 和 footer 组件存在。
  • Header 定义所有必需的标头元素(导航+身份验证操作)并公开 expectCompleteVisible() 以验证完整性。
  • Footer 目前是一个占位符组件;它仍然必须通过以下方式出现在每个页面对象上 BasePage.
  • HomePage.create(page) 是首选工厂;它导航到主URL并验证标头是否完整。
  • 使用 HomePage.SingInButtonClick() 以一致的方式单击登录条目。

测试报告最佳实践

  • 将每个业务操作打包 test.step(...) 因此,剧作家的报告显示了一个清晰易读的流程。
  • 保持步骤名称简短且面向用户(例如。, Open home page, Sign in, Verify vehicles, Logout).
  • 使用页面对象中的步骤进行交叉测试操作;这使报告在各种场景中保持一致。
  • 避免低值动作的嘈杂步骤;关注业务意图和关键检查。
  • 此结构可生成更清晰的报告时间线,如中的示例所示 testRun.png.

测试策略

应用程序是用适当的测试金字塔构建的。大多数案例都在应用程序仓库中。

测试级别

  • 在类级别覆盖复杂业务逻辑的单元测试
  • 集成测试,涵盖具有spring上下文的控制器逻辑
  • 合约测试,以验证前端和后端之间的合约
  • E2E Playwright测试套件,用于验证系统作为生态系统。该级别应验证:
    • 通过模拟用户交互在功能层面的应用
    • 通过运行之间的视觉比较实现应用程序的视觉层次
    • 通过模拟后端错误和故障后恢复前端应用程序的能力来处理通信错误
    • UI性能监控,以识别UI性能的显著下降

测试数据策略

  • 由于POC的早期阶段,环境会定期清理。
  • 每个测试都应在测试期间或测试执行之前准备所需的数据集。
  • 测试后,不强制清理只影响一种类型用户的数据
    • 从长远来看,在测试阶段之前,应该通过db连接动态创建用户数据